subprocess模块

 

在linux中可以用shell来进行系统交互,并返回两个我们关心的数据:标准输出和返回值。旧版python中可以使用os.system,os.popen模块,但2.4版本开始官方建议使用subprocess。因为前面几个容易出错。

subprocess允许程序生成新的进程,然后连接到input/output/error 管道,并获取它们的返回(状态)码。

class subprocess.Popen(args,stdout=None,shell=True)
#构造函数参数解释
#args是要执行的shell命令。可以是字符串或者序列。
#stdout为shell命令的标准输出。可以通过PIPE返回。
#shell在args为字符串时为真。

  

import subprocess
p = subprocess.Popen('ipconfig',stdout=subprocess.PIPE,shell=True)
print(p.stdout.read().decode('gbk'))
#由于stdout.read()得到的是bytes数据类型,需要解码win标准的gbk编码

  

posted @ 2018-09-25 09:43  jabbok  阅读(163)  评论(0编辑  收藏  举报