python中subprocess模块怎么使用

527
2024/1/7 13:20:30
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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模块的一些常用方法和用法示例。根据具体的需求,你可以选择适合的方法来执行和管理子进程。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何在Python中使用数据挖掘库