configparser模块和subprocess模块

时间:2022-12-15 20:15:25

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
导入该模块
configparser模块和subprocess模块configparser模块和subprocess模块
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)