在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编码