如何等待stdout写完文件

时间:2011-08-17 15:12:09

标签: python

我试图等待stdout完成写入文件。有没有人对如何做到这一点有任何想法?

这是一段代码:

代码:全选

session = open("c:\\sessionID.txt", "w")

#Execute previous exe and output session to text file from the current directory
cmd = os.path.realpath(os.getcwd()) +"\\Program.exe"

cmd = [os.getcwd() + '\\AOSLaunch.exe']

Execute the cmd which executes the program.exe and the output is saved to the sessionID.txt file
process = subprocess.Popen(cmd, stdout=session)
session.close()

所以这里的问题是program.exe启动并将输出保存到stdout所花费的时间可能需要一些时间,有时sessionID.txt文件为空,因为它需要太长时间。在这里,我想确保stdout已经写入了sessionID.txt。

非常感谢任何帮助。 非常感谢 TMARZI

1 个答案:

答案 0 :(得分:5)

启动后使用process.wait()as explained in the Popen documentation)方法,等待执行结束....