gpt4 book ai didi

Python popen 命令。等待命令完成

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:14 24 4
gpt4 key购买 nike

我有一个脚本,可以使用 popen 启动 shell 命令。问题是脚本不会等到 popen 命令完成并立即继续。

om_points = os.popen(command, "w")
.....

如何告诉我的 Python 脚本等待 shell 命令完成?

最佳答案

根据您想要如何运行脚本,您有两种选择。如果您希望命令在执行时阻塞并且不执行任何操作,则可以使用 subprocess.call

#start and block until done
subprocess.call([data["om_points"], ">", diz['d']+"/points.xml"])

如果您想在执行时执行操作或将内容输入到 stdin 中,则可以在 popen 调用之后使用 communicate

#start and process things, then wait
p = subprocess.Popen([data["om_points"], ">", diz['d']+"/points.xml"])
print "Happens while running"
p.communicate() #now wait plus that you can send commands to process

如文档中所述,wait 可能会死锁,因此建议进行通信。

关于Python popen 命令。等待命令完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54432421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com