python

python subprocess怎样执行命令

小樊
93
2024-11-16 16:00:43
栏目: 编程语言

在Python中,你可以使用subprocess模块来执行外部命令

import subprocess

# 使用subprocess.run()执行命令并等待完成
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)

# 打印执行结果
print(result.stdout)

在这个例子中,我们使用subprocess.run()函数执行了一个简单的ls -l命令,该命令列出了当前目录下的所有文件和文件夹。capture_output=True参数表示我们希望捕获命令的输出,而text=True参数表示我们希望将输出作为文本处理。

subprocess.run()函数返回一个subprocess.CompletedProcess对象,该对象包含了命令执行的结果,如返回码、标准输出和标准错误等。在这个例子中,我们只打印了命令的标准输出。

如果你需要执行更复杂的命令,可以使用subprocess.Popen类。以下是一个使用subprocess.Popen的示例:

import subprocess

# 创建一个Popen对象
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 等待命令执行完成并获取输出
stdout, stderr = process.communicate()

# 打印执行结果
print(stdout)
print(stderr)

在这个例子中,我们使用subprocess.Popen创建了一个Popen对象,并通过stdoutstderr参数指定了命令的标准输出和标准错误。然后,我们使用process.communicate()方法等待命令执行完成并获取输出。最后,我们打印了命令的标准输出和标准错误。

0
看了该问题的人还看了