1
我对执行python命令和shell命令(来自子进程)的顺序感到困惑。按顺序执行python命令和shell命令(使用子进程)
例如,我有一个简单的代码:
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
有人可以解释原因吗? 谢谢。
谢谢你,汤姆。这真的很有帮助。我将检查file.flush()的东西。 – dbrg77