gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 21:08:02 25 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()用它在标准输入上发送数据,并等待它终止。

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

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