首页 > 代码库 > configparser模块和subprocess模块

configparser模块和subprocess模块

configparser模块

该模块适用于配置文件,配置文件类似于windows的ini文件相似。可以包含一个或多个节(section)。

导入该模块

import configparser

创建对象实例

cfg=configparser.ConfigParser()
cfg[DEFAULT]={backgroud:green,font:20,color:red,width:30,height:50}
cfg[charactor]={actor:yuang,actress:mengmeng,editor:zhangjiao}
cfg[price]={phone:100,computer:3000,cup:10}  #写入文件
with open(base.ini,w) as f:    #保存为文件
    cfg.write(f)
cfg=configparser.ConfigParser()
cfg.read(base.ini)    #读取ini文件
print(cfg.sections())     #[‘charactor‘, ‘price‘]
print(cfg.options(section=charactor))#取出[‘actor‘, ‘actress‘, ‘editor‘, ‘backgroud‘, ‘font‘, ‘color‘, ‘width‘, ‘height‘]
for i in cfg.values():
    print(i)        #<Section: DEFAULT> <Section: charactor> <Section: price>
print(cfg[price][phone]) #100

subprocess模块

当我们需要调用系统的命令的时候,最先考虑的os模块。用os.system()和os.popen()来进行操作。但是这两个命令过于简单,不能完成一些复杂的操作,如给运行的命令提供输入或者读取命令的输出,判断该命令的运行状态,管理多个命令的并行等等。这时subprocess中的Popen命令就能有效的完成我们需要的操作。

      subprocess模块允许一个进程创建一个新的子进程,通过管道连接到子进程的stdin/stdout/stderr,获取子进程的返回值等操作。 
该模块只有一个类Popen

导入该模块
技术分享
import subprocess
s=subprocess.Popen(dir,shell=True,stdout=subprocess.PIPE)
print(s.stdout.read().decode(gbk))
View Code

 在linux系统下可以不用加shell=True

使用ls -l 的命令时要加shell=True

也可以使用subprocess.Popen([‘ls‘,‘-l‘])

subprocess.Popen(‘ls -l‘,shell=True)

 

 

 

configparser模块和subprocess模块