温馨提示×

python中subprocess怎么使用

小亿
99
2023-08-17 20:01:41
栏目: 编程语言

在Python中,使用subprocess模块可以调用系统命令并与其交互。下面是一些常见的使用方法:

  1. 执行命令并获取输出:
import subprocess
output = subprocess.check_output(['ls', '-l'])
print(output.decode())

上述代码执行ls -l命令,并将输出结果以字节形式保存在output变量中。使用decode()方法将字节转换为字符串并打印输出。

  1. 执行命令并获取返回值:
import subprocess
return_code = subprocess.call(['ls', '-l'])
print(return_code)

上述代码执行ls -l命令,并将返回值保存在return_code变量中。返回值为0表示命令成功执行,非0表示执行失败。

  1. 执行命令并捕获错误:
import subprocess
try:
output = subprocess.check_output(['command'])
except subprocess.CalledProcessError as e:
print(e.returncode)
print(e.output.decode())

上述代码执行command命令,并捕获可能的错误。如果命令执行成功,将输出保存在output变量中,否则将返回值保存在e.returncode中,错误信息保存在e.output中。

  1. 执行命令并传递参数:
import subprocess
filename = 'example.txt'
subprocess.call(['touch', filename])

上述代码执行touch命令,并传递参数filename,在当前目录下创建一个名为example.txt的文件。

  1. 执行命令并传递输入:
import subprocess
input_data = 'Hello World!'
output = subprocess.check_output(['grep', 'World'], input=input_data.encode())
print(output.decode())

上述代码执行grep 'World'命令,并将input_data作为输入传递给命令。输出结果包含World的行将被保存在output变量中。

这只是subprocess模块的一些基本用法,还有很多其他功能可以探索。请查阅官方文档以获得更详细的信息:https://docs.python.org/3/library/subprocess.html

0