温馨提示×

python中subprocess模块怎么使用

小亿
88
2024-01-09 13:20:30
栏目: 编程语言

subprocess模块是Python中用于创建和管理子进程的模块。它提供了一种简单的方法来执行外部命令以及与其进行交互。以下是subprocess模块的一些常用方法和用法示例。

  1. run()方法:该方法用于执行外部命令,并等待命令执行完成。它返回一个CompletedProcess对象,包含了命令的执行结果。
import subprocess

result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
  1. Popen()方法:该方法用于创建一个子进程对象,可以用于执行、控制和与子进程进行交互。
import subprocess

process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
output, error = process.communicate()
print(output)
  1. check_output()方法:该方法用于执行外部命令,并返回命令的输出结果。如果命令执行失败,则会抛出一个CalledProcessError异常。
import subprocess

output = subprocess.check_output(['ls', '-l'], text=True)
print(output)
  1. communicate()方法:该方法用于与子进程进行交互,包括向子进程发送输入数据,并获取子进程的输出结果和错误信息。
import subprocess

process = subprocess.Popen(['grep', 'hello'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
output, error = process.communicate(input='hello world')
print(output)

以上是subprocess模块的一些常用方法和用法示例。根据具体的需求,你可以选择适合的方法来执行和管理子进程。

0