3

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

4

2 に答える 2