我有一个python程序,它使用Popen()调用子进程。这个python程序是从一个C程序中调用的,它使用Python。除了子进程没有将输出重定向到文件这一事实之外,一切都很好。如果我只使用Python程序,它就会像它应该做的那样工作。如果我从C调用同一个程序,它就不会调用。
有线索吗?
fout = open('fout.txt','w+')
self.process = Popen(starting_cmd,stdout=fout)
发布于 2022-05-18 09:25:56
有了这个最小的信息,我不能帮你很多,但我建议你这样做:
with open("fout.txt","a") as out:
subprocess.Popen("starting_cmd",stdout=out)
fout.txt
).a
替换w+
(添加w
with
是为了确保在out
超出作用域时文件被关闭,这可能有助于使结果在文件中可见。下面是一个工作示例(在python3中):
import subprocess
with open("fout.txt", "a") as out:
subprocess.Popen("ls", stdout=out)
https://stackoverflow.com/questions/72286349
复制相似问题