configparser模块和subprocess模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘))
在linux系统下可以不用加shell=True
使用ls -l 的命令时要加shell=True
也可以使用subprocess.Popen([‘ls‘,‘-l‘])
subprocess.Popen(‘ls -l‘,shell=True)
以上是关于configparser模块和subprocess模块的主要内容,如果未能解决你的问题,请参考以下文章
常用模块-----configparser & subprocess
Python configparser模块 与 subprocess 模块
Python基础----正则表达式爬虫应用,configparser模块和subprocess模块
常用模块(subprocess/hashlib/configparser/logging/re)