重定向(>)命令不会将某些输出尾部打印到文件

时间:2014-07-15 06:41:29

标签: python file terminal command

我尝试使用此命令将我的python程序的输出结果打印到日志文件:

./project.py > result.log

当我打开result.log时,我发现了一个问题。它错过了一些输出尾部,我认为它是最后一行的5-15个

如何解决这个问题?

附加信息:

  • 语言:Python
  • Termianl:iTerm2
  • OS:OSX

2 个答案:

答案 0 :(得分:1)

尝试运行以下命令

./project.py > result.log 2>&1

缺少的行可能是stderr而不是stdout。

答案 1 :(得分:1)

这是STDOUT刷新问题。它将缓冲您的输出,直到一些内部缓冲区已满。尝试将stdbuf设置为行缓冲模式:

stdbuf -oL ./project.py &> result.log