×

Python调用Shell命令

96
AlicFeng
2016.06.14 19:40* 字数 209

前言:在python程序里面难免会用到shell命令,在python调用shell脚本也不是很难,记录了一下!
****通过os模块****
system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果

#os-One
#只返回结果
os.system(command)

sample

import os
print os.system("service apache2 status")

popen方不仅仅返回结果,还返回一个类文件对象,通过调用该对象的read()或readlines()方法可以读取输出内容

#os-Two
#返回结果与终端显示信息
os.popen(command,mode)

sample

import os
output = os.popen('service apache2 status', 'r')
print output.read()

****通过commands模块****
使用commands模块的getoutput方法,这种方法同popend的区别在于popen返回的是一个类文件对象,而本方法将外部程序的输出结果当作字符串返回

#返回(status, output)
commands.getstatusoutput(command)      
#只返回输出结果
commands.getoutput(command)                  
#调用了getoutput,不建议使用此方法
commands.getstatus(file)

sample

import commonds
print commands.getstatusoutput("ls")
print commands.getoutput("ls")

****通过subprocess模块****
subprocess与system相比的优势是它更灵活

#只返回结果
subprocess.call("command", shell=True)

sample

import subprocess
print subprocess.call("service apache2 status", shell=True)

****价值源于技术,贡献源于分享****

Python
Web note ad 1