我写了一个 python 脚本,其中有几个 print
语句。打印的信息可以帮助我监控脚本的进度。但是,当我将包含 python my_script &> 输出
的 bash 脚本 qsub 到计算节点时,即使脚本正在运行并打印某些内容,输出文件也不包含任何内容。输出文件将包含脚本完成后的输出。那么如何在脚本运行时通过输出文件实时获取输出呢。
最佳答案
实际上写入文件而不是在每次写入后或每次写入调用 sys.stdout.flush()
后进行管道和刷新,但最好使用记录器函数并用日志替换打印.
来自评论: 记录器函数是您调用而不是打印的函数,它会将文本输出到某个地方,可能带有时间戳和其他信息,它们通常允许您将各种信息量输出到各种目的地,包括标准输出和文件。参见 python 2或 3有关 python 内置日志功能的信息的文档。
关于python - 输出文件在脚本完成之前不包含任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20233650/