python中同时执行多个子命令

在Python中,可以使用subprocess模块来同时执行多个系统命令,并获取输出

import subprocess

# 执行的三个系统命令
cmd1 = 'echo "Hello World"'
cmd2 = 'ls -l'
cmd3 = 'pwd'

# 同时执行三个系统命令
processes = []
for cmd in [cmd1, cmd2, cmd3]:
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    processes.append(p)

# 获取每个命令的输出
for p in processes:
    stdout, stderr = p.communicate()
    print(f"Command: {p.args}, Return Code: {p.returncode}")
    print("Stdout:", stdout.decode().strip())
    print("Stderr:", stderr.decode().strip())

我们将每个命令的stdoutstderr参数都设置为subprocess.PIPE,以便可以捕获每个命令的输出。然后,我们使用communicate方法来获取每个命令的输出。最后,我们将每个命令的输出打印到控制台上。

 

posted @ 2023-03-10 16:30  海_纳百川  阅读(1102)  评论(0编辑  收藏  举报
本站总访问量