gpt4 book ai didi

python - 如何使用单个 python 子进程调用执行多个 shell 命令?

转载 作者:行者123 更新时间:2023-11-28 17:25:05 25 4
gpt4 key购买 nike

理想情况下,它应该像我要执行的命令列表,并使用单个子进程调用执行所有命令。我能够通过将所有命令存储为 shell 脚本并使用子进程调用该脚本来做类似的事情,但我想要一个纯 python 解决方案。我将使用 shell=True 执行命令,是的,我了解风险。

最佳答案

如果它们是独立的,请使用分号将它们链接起来。

例如,(Python 3)

>>> import subprocess
>>> result = subprocess.run('echo Hello ; echo World', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
>>> result
CompletedProcess(args='echo Hello ; echo World', returncode=0, stdout=b'Hello\nWorld\n')

但从技术上讲,这不是一个纯 Python 解决方案,因为 shell=True。 arg 处理实际上是由 shell 完成的。 (你可能认为它是执行 /bin/sh -c "$your_arguments")

如果你想要一个更纯粹的解决方案,你将不得不使用 shell=False 并循环你的几个命令。据我所知,没有办法直接用子进程模块启动多个子进程。

关于python - 如何使用单个 python 子进程调用执行多个 shell 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39725120/

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