python之subprocess模块
subprocess
是 Python 中一个用于启动子进程的模块,它可以调用外部程序,并与之交互(发送数据,接收输出),以及获取其执行结果。
以下是一些使用 subprocess
的常见方法:
subprocess.run()
: 用于执行命令,并等待命令完成后,返回一个包含执行结果的subprocess.CompletedProcess
对象。
import subprocess
result = subprocess.run(['echo', 'Hello World'], capture_output=True, text=True)
print(result.stdout) # 输出:Hello World
subprocess.call()
: 用于执行命令,并等待命令结束后返回命令执行状态。
import subprocess
status = subprocess.call(['ls', '-l'], shell=False)
print(status) # 输出:命令执行状态码,如果成功执行,通常为0
subprocess.Popen()
: 用于执行命令,并返回一个Popen
对象,可以用于与命令进行更复杂的交互。
import subprocess
proc = subprocess.Popen(['python', '-c', 'print("Hello World")'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
out, err = proc.communicate()
print(out) # 输出:Hello World
subprocess.getstatusoutput()
: 用于执行命令,并返回一个元组,包含命令的执行状态和输出。
import subprocess
status, output = subprocess.getstatusoutput('ls -l')
print(status, output)
subprocess.getoutput()
: 用于执行命令,并返回命令的输出。
import subprocess
output = subprocess.getoutput('ls -l')
print(output)
以上是 subprocess
模块的一些常用方法,可以根据实际需求选择合适的方法来执行外部命令。
评论已关闭