###Date: 2018.5.8
===========================================================
分類:Python函數用法
主要分析一下subprocess.call,subprocess.Popen與os.system,os.popen調用命令的用法與區別:
1、subprocess.call( )
import subprocess
ret = subprocess.call(cmd,shell=True)
cmd命令行中可以是字符串或者是序列(字符串列表list)的形式,shell=True表示會讓subprocess.call接受字符串類型的變量作為命令,並調用shell去執行這個字符串,當shell=False時,subprocess.call只接受數組變量作為命令,並將數組的第一個元素作為命令,剩下的全部作為該命令的參數。
ret表示返回的可執行文件的返回值。
2、subprocess.Popen()
import subprocess
proc = subprocess.Popen('cmd', shell=True)
proc.communicate()
ret = proc.returncode
or:
import subprocess
proc = subprocess.Popen('cmd', shell=True)
ret = proc.wait()
用法同上,ret返回的是可執行文件的返回值。
3、os.system()
import os
ret = os.system(cmd)
需要注意的是,ret返回的是腳本的退出狀態碼。
4、os.popen()
import os
ret=os.popen(cmd)
需要注意的是,ret返回的是可執行文件的返回值,不是腳本的退出狀態碼。