python subprocess执行外部命令常用方法
在Python中,subprocess
模块用于启动新进程并与之通信。以下是使用subprocess
模块的一些常见方法:
subprocess.run()
: 执行指定的命令,并等待命令完成后返回CompletedProcess
实例。
import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout) # 打印命令的输出
subprocess.call()
: 执行指定的命令,并等待命令结束后返回命令执行状态码。
import subprocess
retcode = subprocess.call(['ls', '-l'])
print("Return code:", retcode)
subprocess.Popen()
: 启动一个新进程,并返回一个Popen
对象,可以用于与进程交互。
import subprocess
proc = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()
print(out)
subprocess.getstatusoutput()
: 执行命令,返回一个元组,包含退出状态和命令的输出。
import subprocess
status, output = subprocess.getstatusoutput('ls -l')
print(status, output)
subprocess.getoutput()
: 执行命令,并返回命令的输出。
import subprocess
output = subprocess.getoutput('ls -l')
print(output)
以上方法可以用于执行外部命令,并获取其输出或状态。根据需要选择合适的方法。
评论已关闭