【发布时间】:2019-10-28 05:54:02
【问题描述】:
我有一个 python prog,我想在产生输出时表现得像 linux cmd。 prog 使用“print()”,当在 cmd 行上运行时,打印的内容在终端上清晰可见。当我启动带有 bash 输出重定向到文件的 prog 时,文件保持为空。我犯了什么错误?
程序的打印部分:
chktime = 0
chkper = 10
while True:
if time.time() - chktime > chkper:
chktime = time.time()
diskusepct = get_asus_diskusepct()
print('Asus tmpfs free: ' + diskusepct)
if float(diskusepct) > 95.0:
with open("asus_syslog.log", 'w') as sl:
sl.write(get_asus_syslog())
else:
print('Wait')
time.sleep(1)
从 cmd 行(如预期):
rpi4b:~/python $ ./asus_diskwatch_v1.0.py
Asus tmpfs free: 1
Wait
Wait
Wait
Wait
使用重定向(意外):
~/python $ ./asus_diskwatch_v1.0.py > asus_diskwatch.log &
[2] 4415
~/python $ cat asus_diskwatch.log
<nothing>
非常感谢您的反馈。
【问题讨论】: