我在Rundeck中创建简单作业,只需一个bash脚本步骤:
#!/bin/bash
for i in {1..10}
do
echo "$i"
sleep 5
done
其生成的日志输出为:
22:26:12 1
22:26:17 2
22:26:22 3
22:26:27 4
22:26:32 5
22:26:37 6
22:26:42 7
22:26:47 8
22:26:52 9
22:26:57 10
如您所见,echo
命令在前一个echo
之后的5秒后打印
现在是Python版本:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
for i in range(10):
print i
time.sleep(5)
日志输出:
22:29:17 0
22:29:17 1
22:29:17 2
22:29:17 3
22:29:17 4
22:29:17 5
22:29:17 6
22:29:17 7
22:29:17 8
22:29:17 9
这一次,整个日志在完成工作后立即打印出来
Python脚本是否有可能获得与bash脚本相同的日志记录方式
默认情况下,python缓冲输出直到完成。如果设置
PYTHONUNBUFFERED
环境变量,它将不会缓冲,而是在脚本运行时打印输出https://www.systutorials.com/how-to-flush-stdout-buffer-in-python/
它是这样工作的:
PD:接得好
相关问题 更多 >
编程相关推荐