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