在Python中调用系统命令,可以使用`os`模块中的`os.system()`函数或者`subprocess`模块中的函数。以下是使用这些方法调用系统命令的简要说明:
使用`os.system()`
功能:执行系统命令,返回命令执行后的退出状态码。
返回值:
`0`:命令执行成功。
其他值:命令执行失败。
示例:
import os
result = os.system('ls')
print(result) 输出命令执行结果
使用`os.popen()`
功能:执行系统命令,并返回一个文件对象,可以通过该对象读取命令的输出。
返回值:返回一个文件对象,可以调用`read()`、`readlines()`等方法读取输出。
示例:
import os
command = 'ls *.sh'
tmp = os.popen(command).readlines()
print(tmp) 输出命令执行结果
使用`subprocess`模块
功能:提供了更灵活的方式来执行系统命令,可以控制进程、获取输出和错误流等。
函数:
`subprocess.call()`:执行命令,等待命令完成,并返回退出状态码。
`subprocess.run()`:执行命令,等待命令完成,并返回一个`CompletedProcess`对象,包含执行结果和输出。
`subprocess.getstatusoutput()`:执行命令,返回一个包含状态码和输出的元组。
示例:
import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.returncode) 输出命令执行结果
print(result.stdout) 输出命令的标准输出
选择哪种方法取决于你的具体需求,例如是否需要获取命令的输出、是否需要控制进程等。`subprocess`模块提供了更多的控制和灵活性,通常推荐使用