如何将脚本输出写入文件和命令行?

Bjö*_*lex 7 python unix command-line

我有一个长期运行的Python脚本,我从命令行运行.该脚本将进度消息和结果写入标准输出.我想捕获脚本写入文件中标准输出的所有内容,但也要在命令行中查看它.或者,我希望输出立即转到文件,因此我可以tail用来查看进度.我试过这个:

python MyLongRunngingScript.py | tee log.txt
Run Code Online (Sandbox Code Playgroud)

但它不会产生任何输出(只是运行脚本会产生预期的输出).谁能提出一个简单的解决方案?我使用的是Mac OS X 10.6.4.

编辑print在脚本中用于输出.

Imr*_*e L 16

你是在正确的道路上,但问题是python缓冲输出.

幸运的是,有一种方法可以告诉它不要缓冲输出:

python -u MyLongRunngingScript.py | tee log.txt
Run Code Online (Sandbox Code Playgroud)

  • 如果你还想要捕获那个:``python -u MyLongRunngingScript.py 2>&1 | tee log.txt`` (3认同)