长时间运行的程序重定向文件输出

长时间运行的程序重定向文件输出

为了帮助我的数学研究,我编写了一个 Python2 程序并在 bash 中将其调用为

python myprog.py > myoutput.txt

首先,我对一小组输入值运行它,并在不到一秒的时间内得到输出。

现在,对于更大的输入数据(因此输出应包含先前运行的输出作为子集),它已经运行了几个小时。在另一个终端窗口中,我发现“myoutput.txt”是在调用时创建的,但为空。是否有一个存储输出的临时位置可供我查看?

我的程序有一个 for 循环,并且应该为该循环的每次迭代输出一行。当范围为 1 到 35 时,我立即得到 35 行输出。当我将范围增加到 1 到 175 时,几乎一天过去了,没有输出。有人可以帮忙吗?

答案1

不好的做法 - 重定向只会在程序末尾执行写入。

使用日志记录模块。https://docs.python.org/2/howto/logging.html

  • 编辑:写入不是在最后完成的,而是在缓冲区耗尽时完成的。谢谢 barmar

相关内容