我正在玩python并编写了一个生成大量文本的应用程序,它将打印到stdout。(我在控制台中运行应用程序(bash)并且不想使用GUI或外部工具)
这个过程占用了很多时间,我可以计算它已经完成了多少。
应用程序的输出总是从正在运行的脚本中传出..
我想不时向用户通知有多少文本生成完成..(我无法打印到stdout,因为它被重定向到其他一些进程.. )
有没有办法做到这一点?
非常感谢您的建议!
答案 0 :(得分:1)
这是stderr
的用途。
看看这个示例程序:
import sys
print >> sys.stderr, "Starting..."
print "Done!"
如果您使用>
重定向其输出(例如,python test.py > test.txt
),则不会包含打印到stderr
的任何内容。
test.txt
只会包含Done!
。
答案 1 :(得分:0)
您可以在记录应用程序状态的位置生成其他文件。在UNIX平台上,用户可以在另一个控制台中tail
它。发送具有状态的电子邮件是另一种选择。