在Python中,使用subprocess
模块可以调用系统命令并与其交互。下面是一些常见的使用方法:
import subprocess
output = subprocess.check_output(['ls', '-l'])
print(output.decode())
上述代码执行ls -l
命令,并将输出结果以字节形式保存在output
变量中。使用decode()
方法将字节转换为字符串并打印输出。
import subprocess
return_code = subprocess.call(['ls', '-l'])
print(return_code)
上述代码执行ls -l
命令,并将返回值保存在return_code
变量中。返回值为0表示命令成功执行,非0表示执行失败。
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
中。
import subprocess
filename = 'example.txt'
subprocess.call(['touch', filename])
上述代码执行touch
命令,并传递参数filename
,在当前目录下创建一个名为example.txt
的文件。
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