我正在运行以下代码(将其称为batch.py)
for config in keystoneConfig:
cmdlist = generate_cmd_list(config)
print ' '.join(cmdlist)
subprocess.call(cmdlist)
并将batch.py的输出重定向到另一个文件。 IE。
./batch.py > 输出.txt
但我意识到所有的输出subprocess.call()
之前的print
陈述。为什么输出不同步?
Python 块缓冲自己的输出并且之前不会刷新它subprocess.call()
,因为您将其输出重定向到文件而不是控制台;您需要强制行缓冲或禁用缓冲,或者在子进程调用之前手动刷新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)