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()
。これは簡単な例です。ただし、より複雑なものを実行する場合は、なぜこれが発生するのか、どのように回避するのかを理解することが重要になる場合があります。