执行外部命令subprocess
Subprocess.run(args,*,stdin=None,input=None,stdout=None,stderr=None,shell=False,cwd=None,timeout=None,check=False,encoding=None,errors=None)
Args:代表需要在操作系统中的执行命令,可以是字符串形式,要求shell=True。Stdin,stdout,stderr可执行程序的标准输入、标准输出、标准错误输出。
执行一个脚本,并获取它的返回值。有如下两种方法:
>a=subprocess.run("ls -l /dev/null",shell=True)
crw-rw-rw-. 1 root root 1, 3 Feb 16 21:01 /dev/null
>> a
CompletedProcess(args='ls -l /dev/null', returncode=0)
>> a.args
'ls -l /dev/null'
>> a.returncode
0
>> b=subprocess.run(["ls","-l","/dev/null"])
crw-rw-rw-. 1 root root 1, 3 Feb 16 21:01 /dev/null
>> b.args
['ls', '-l', '/dev/null']
>> b.returncode
0
>>
Subproces.popen()
>> a=subprocess.Popen(["/bin/ls","-l","/dev/null"],shell=True,stdout=subprocess.PIPE)
>> b=a.stdout.readlines()
>> print(b)
[b'5979d625614e8aed47db0297c8857f02.zip\n', b'anaconda-ks.cfg\n', b'test.csv\n', b'xuesheng.xlsx\n']
Popen 详细使用参考https://blog.csdn.net/qq_34355232/article/details/87709418