python常用模块之subprocess

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)
原文地址:https://www.cnblogs.com/lin1/p/8947835.html