温馨提示×

python subprocess的用法是什么

小亿
91
2023-10-19 22:59:33
栏目: 编程语言

subprocess 是 Python 内置的库,用于创建和管理新的子进程。它提供了一种在 Python 程序中调用外部命令和程序的方法。

subprocess 模块的主要用法有以下几种:

  1. 运行外部命令或程序:使用 subprocess.run() 函数可以运行外部命令或程序,并等待其执行完成。例如:
import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
  1. 获取命令输出:使用 subprocess.check_output() 函数可以运行外部命令,并获取其输出。例如:
import subprocess
output = subprocess.check_output(['ls', '-l'])
print(output.decode())
  1. 控制子进程的输入和输出:使用 subprocess.Popen() 函数可以创建子进程,并通过管道进行输入和输出的控制。例如:
import subprocess
p = subprocess.Popen(['grep', 'hello'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = p.communicate(input=b'hello world')
print(output.decode())
  1. 后台运行命令:使用 subprocess.Popen() 函数结合 subprocess.PIPE 可以在后台运行命令,并获取其输出。例如:
import subprocess
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = p.communicate()
print(output.decode())

这些只是 subprocess 模块的一些常见用法,还有其他一些函数和参数可以根据具体需求进行使用。对于更复杂的需求,可以查阅官方文档以获取更详细的信息:https://docs.python.org/3/library/subprocess.html

0