我有一个需要很长时间才能运行的python脚本。
我在整个脚本中放置了打印输出以观察其进度。由于此脚本使用不同的程序,其中一些程序会打印许多消息,因此直接打印到屏幕上是不可行的。
因此,我正在使用报告文件
f_report = open(os.path.join("//shared_directory/projects/work_area/", 'report.txt'), 'w')
Run Code Online (Sandbox Code Playgroud)
我在上面打印我的按摩:
f_report.write(" "+current_image+"\n")
Run Code Online (Sandbox Code Playgroud)
但是,在脚本运行时查看文件时,看不到消息。它们仅在程序完成并关闭文件后出现,这使我的方法无法监视正在进行的进度。为了使python实时将消息输出到报告文件,我应该怎么做?
非常感谢。
您应该使用flush()函数立即将文件写入。
f_report.write(" "+current_image+"\n")
f_report.flush()
Run Code Online (Sandbox Code Playgroud)