我正在编写一个程序,我希望能够在程序完成之前查看日志文件.我注意到,在python(2.7和3)中,file.write()没有保存文件,file.close()确实如此.我不想创建具有唯一名称的一百万个小日志文件,但我希望能够在程序完成之前查看更新的日志文件.我怎样才能做到这一点?
现在,要清楚我正在使用Ansys Workbench编写脚本(试图批量运行一些CFX).这是一个指向我正在谈论的教程的链接.它们似乎已经包装了python,通过运行脚本,我可以将命令发送到各个模块.当脚本运行时,屏幕上没有控制台,它似乎正在吃掉所有print语句,因此我可以通过文件报告正在发生的事情的唯一方法.此外,我不想带一个控制台窗口,因为最终我将以批处理模式运行程序(无接口).但模拟需要很长时间才能运行,我不能等待程序完成,然后再检查发生了什么.
sta*_*ify 15
你需要这个:
file.flush()
# typically the above line would do. however this is used to ensure that the file is written
os.fsync(file.fileno())
请查看:http://docs.python.org/2/library/stdtypes.html#file.flush
file.flush()刷新内部缓冲区,如stdio的fflush().这可能是某些文件类对象的无操作.注意flush()不一定将文件的数据写入磁盘.使用flush()后跟os.fsync()来确保此行为.
编辑:请参阅此问题以获取详细说明:python的file.flush()到底在做什么?
| 归档时间: | 
 | 
| 查看次数: | 9021 次 | 
| 最近记录: |