Pythonコマンドとシェルコマンド(サブプロセスから)の実行順序に戸惑っています。
たとえば、私は簡単なコードを持っています:
import subprocess
import shlex
command="echo 'test'"
arg=shlex.split(command)
with open("out.txt", "w") as f:
f.write("line1\n")
subprocess.call(arg, stdout=f)
f.write("line3\n")
out.txt は次のようになると思います。
line1
test
line3
ただし、実際の out.txt は次のとおりです。
test
line1
line3
誰かが理由を説明できますか?ありがとうございました。