subprocess.run()的使用
首先肯定需要import啊
import subprocess
(如果没安装的话需要在命令行里输入pip install subprocess安装。)
我用的python版本是3.8.2,找到subprocess.run的函数声明如下:
def run(\*popenargs, input=None, capture_output=False, timeout=None, check=False, \*\*kwargs):
第一个参数是*popenargs,*号代表序列或tuple(即(a,b,c)形式的元组),所以我们应该这样使用:
cmdTuple =("cmd.exe", "/C", r"del d:\output\*.png")
subprocess.run(cmdTuple)
这个例子是要删除d:\output\里的png图片,cmdTuple是有3个元素的元组,第一个元素是"cmd.exe",代表run()要启动的程序, 第二个元素“/C”是cmd.exe 的命令行参数,意思是“执行字符串指定的命令然后终止“,可能是说启动一个cmd,执行完命令后,就自动退出cmd.exe吧,第三个元素自然是要执行的cmd命令,必须要这样写,一开始我不知道需要传递元组,用下面错误的办法调用run:
cmd ="del d:\output\*.png"
subprocess.run(cmd)
总是会报错,报的错误是
Traceback (most recent call las