Log*_*ang 3 python file output
我认为编写文件可以提供实时输出,因为当我使用C/C++编写文件时就是如此.但是当我运行python程序时,输出文件似乎总是0字节,直到整个程序运行完毕.即使对于nohup python xxx.py &,print文件中的nohup.out内容也不是实时的,只能在执行后才能看到.我现在正在运行非常大的程序,并希望看到文件中的进度,我该如何实现它?
您的文件可以缓冲两点 - Python的内部缓冲区和操作系统上的缓冲区.这是一种性能提升,可以在缓冲区填满时避免系统调用和磁盘写入.
调用file.flush()将内部缓冲区推送到操作系统.您还可以调用fsync以请求操作系统保存到磁盘.
通常,您可以让操作系统执行它最熟悉的操作,因此flush通常对大多数应用程序进行调用.Python的内部缓冲区也是如此 - 它在性能方面最了解,但您可能需要更频繁的写入并愿意支付额外的成本.了解确切成本的唯一方法是两种方式来衡量.
| 归档时间: |
|
| 查看次数: |
2201 次 |
| 最近记录: |