为什么a.py
用内容调用文件
import os
print('Hi')
os.system('cat a.py')
产生以下输出,如何使它们以正确的顺序打印?
$ python a.py
import os
print('Hi')
os.system('cat a.py')
Hi
您会看到cat
命令先打印到stdout print
。在Windows 10上的GitBash中运行Python 3.6时发生。在Ubuntu 17.10上的Python 3.6上不会发生。
注意:我知道我可以file.readlines()
轻松地打印文件内容。这只是一个简单的例子。但是,当运行更复杂的东西时,了解为什么会发生以及如何解决它可能变得很重要。
输出被缓冲。您必须刷新此缓冲区:
import os
import sys
print('Hi')
sys.stdout.flush()
os.system('cat a.py')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句