python 運行shell獲取結果兩種方式:python
一、os.system()shell
import tempfile,osdef readcmd(cmd): ftmp = tempfile.NamedTemporaryFile(suffix='.out', prefix='tmp', delete=False) fpath = ftmp.name if os.name=="nt": fpath = fpath.replace("/","\\") # forwin ftmp.close() os.system(cmd + " > " + fpath) data = "" with open(fpath, 'r') as file: data = file.read() file.close() os.remove(fpath) return data
二、subprocess.Popencode
import subprocess proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True) (out, err) = proc.communicate() print "program output:", out
轉載:http://stackoverflow.com/questions/3503879/assign-output-of-os-system-to-a-variable-and-prevent-it-from-being-displayed-onrem