python多久刷新一次文件?

python多久刷新一次文件?

  1. Python多久刷新一次文件?
  2. Python多久刷新一次stdout?

我对(1)不确定。

至于(2),我相信Python在每一个新行之后都会刷新到stdout。但是,如果您重载stdout到一个文件,它是否经常刷新?


手掌心
浏览 823回答 3
3回答

森林海

我不知道这是否也适用于python,但我认为这取决于您正在运行的操作系统。例如,在Linux上,输出到终端会刷新换行符上的缓冲区,而对于输出到文件的输出,只有在缓冲区已满时(默认情况下)才会刷新。这是因为减少缓冲区刷新次数更有效,而且如果没有在文件中的换行符上刷新输出,用户就不太可能注意到这一点。如果需要的话,您可以自动刷新输出。编辑:我想你会用这种方式自动刷新python(基于这里)#0 means there is no buffer, so all output#will be auto-flushedfsock = open('out.log', 'w', 0)sys.stdout = fsock#do whateverfsock.close()

慕村225694

还可以强制以编程方式将缓冲区刷新到文件中。flush()方法。with open('out.log', 'w+') as f:     f.write('output is ')     # some work     s = 'OK.'     f.write(s)     f.write('\n')     f.flush()     # some other work     f.write('done\n')     f.flush()在跟踪输出文件时,我发现这很有用。tail -f.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python