1

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

誰かが理由を説明できますか?ありがとうございました。

4

1 に答える 1