gpt4 book ai didi

python - 如何从 Python 异步运行外部命令?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:07 30 4
gpt4 key购买 nike

我需要从 Python 脚本异步运行 shell 命令。我的意思是我希望我的 Python 脚本在外部命令关闭并执行它需要执行的任何操作时继续运行。

我读了这篇文章:

Calling an external command in Python

然后我开始做一些测试,看起来 os.system() 可以完成这项工作,前提是我在命令末尾使用 &这样我就不用等它回来了。我想知道的是,这是否是完成此类事情的正确方法?我尝试了 commands.call() 但它对我不起作用,因为它会阻止外部命令。

如果建议使用 os.system() 或者我是否应该尝试其他方法,请告诉我。

最佳答案

subprocess.Popen完全按照您的意愿行事。

from subprocess import Popen
p = Popen(['watch', 'ls']) # something long running
# ... do other stuff while subprocess is running
p.terminate()

(编辑以完成评论中的答案)

Popen 实例可以像您一样做各种其他事情 poll()看看它是否还在运行,你可以communicate()用它在 stdin 上发送数据,并等待它终止。

关于python - 如何从 Python 异步运行外部命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27257008/

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