【问题标题】:Redirect (>) command does not print some tail of output to file重定向 (>) 命令不会将输出的某些尾部打印到文件
【发布时间】:2014-09-05 06:03:32
【问题描述】:

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

./project.py > result.log

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

如何解决这个问题?

附加信息:

  • 语言:Python
  • Termianl:iTerm2
  • 操作系统:OSX

【问题讨论】:

  • 您的程序中是否存在 python 代码中断并停止记录的问题。您检查您的代码是否运行良好
  • 我确定。它运行良好。当我不使用重定向时,我在终端上得到了完整的输出。但是当我使用> 时,我错过了一些信息。

标签: python file terminal command


【解决方案1】:

尝试运行以下命令

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-06-02
      • 1970-01-01
      • 2018-06-07
      • 2011-11-01
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 2015-10-30
      • 2016-08-02
      相关资源
      最近更新 更多