[Python]调用shell cmd的几种方式
1.使用os.system()去调用,但是只能返回执行状态,不能获取shell cmd执行结果
#!/usr/bin/python
# -*- coding: utf-8
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()
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
Knowledge, like candlelight, can illuminate a person and countless people.