python常用模块之subprocess
python2有个模块commands,执行命令的模块,在python3中已经废弃,使用subprocess模块来替代commands.
介绍一下:commands模块
常用的三个方法:
1,commands.getstatus(file) #ls -ld file的效果
import commands result = commands.getstatus('/tmp') print(result) 执行结果:lrwxr-xr-x@ 1 root wheel 11 Jan 19 19:17 /tmp -> private/tmp
2,commands.getstatusoutput(cmd)#获取命令的执行返回的结果和内容,以元祖的形式返回。
import commands result = commands.getstatusoutput('ls') print(result) 执行结果:(0,a.txt cmd.py venv xe6x96x87xe4xbbxb6xe6x93x8dxe4xbdx9c xe7xbcx96xe7xa0x81xe9x97xaexe9xa2x98')
3, commands.getoutput(cmd). #获取命令执行的内容
import commands result = commands.getoutput('ls') print(result) 执行结果: a.txt cmd.py venv 文件操作 编码问题
二,python3中的subprocess模块
import subprocess #获取命令执行的内容 result1= subprocess.getoutput('ls') #获取命令执行的内容和返回的结果 result2 = subprocess.getstatusoutput('ls') #获取命令执行返回的结果 result3 = subprocess.call('ls') print(result1) print(result2) print(result3)