gpt4 book ai didi

python - 如何终止使用 Subprocess.Popen 启动进程的函数并移至下一行代码?

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:18 24 4
gpt4 key购买 nike

我是一个新手,在 linux 中自动化了一些测试用例。我想在 subprocess.Popen 之后转到下一行并打印 - “我正在执行”。

subprocess.Popen(['./xyzScript.sh']).communicate()
print("我正在执行")

怎么做?

最佳答案

communicate是阻塞操作。用于获取进程的内容'stdoutstderr .由于您丢弃了它的返回值,因此您似乎不需要它。简单地运行:

subprocess.Popen(['./xyzScript.sh'])
print("I am executing")

足够了。

默认情况下,stdoutstderr没有被重定向,也就是说,他们去了 stdout 的地方和 stderr你的调用 python 脚本是。如果您希望以编程方式与 shell 脚本的输出交互,您应该配置 Popen 的 stdout 和 stderr 标志。 .例如,如果您希望一起丢弃 shell 脚本的输出,请运行:

subprocess.Popen(['./xyzScript.sh'], stdout=subprocess.DEVNULL,stderr=subprocess.DEVNULL, )
print("I am executing")

关于python - 如何终止使用 Subprocess.Popen 启动进程的函数并移至下一行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56904586/

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