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)
posted @ 2024-08-28 15:57  python学习者0  阅读(9)  评论(0编辑  收藏  举报