pythonic方式flush()sys.stdout& sys.stderr

时间:2017-10-12 21:55:48

标签: python

所以我有一个python脚本,我将 stdout和stderr 重定向到一个文件。我需要定期刷新这个文件。实现这一目标的最佳方法是什么

sys.stdout = sys.stderr = open('location/log.txt', 'w')

我们必须分两步完成吗?

sys.stdout.flush()
sys.stderr.flush()

我正在这样做,因为我不断阅读此文件以检查更新。

1 个答案:

答案 0 :(得分:2)

如果您将sys.stderrsys.stdout别名到同一个打开的文件句柄,则只需要刷新其中一个;它们是同一个文件对象,因此刷新一个正在刷新“all”(“all”是唯一的现有文件对象)。

相关问题