Python调用shell cmd的几种方式
1.使用os.system()去调用,但是只能返回执行状态,不能获取shell cmd执行结果
import os
status = os.system("ps aux |grep Xcode |grep -v grep")
print (status)
2.使用os.popen执行并获取结果
如果返回是str,直接通过read拿结果使用,如果是多行,选择readlines转list获取每行内容
#整份字符串处理
p=os.popen('ps aux |grep Xcode |grep -v grep')
res=p.read()
print res,type(res)
p.close()
#多行处理
p=os.popen('ps aux |grep Xcode |grep -v grep')
res1=p.readlines()
for line in res1:
print 'line :'+line
p.close()
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
3.使用commands 模块commands.getstatusoutput()
如果返回是str,直接拿结果使用,如果是多行,选择用splitline转list获取
import commands
status, output = commands.getstatusoutput('ps aux |grep Xcode |grep -v grep')
print (output)
output_list = output.splitlines()
print (output_list)