Python学习笔记——基础篇第六周——PyYAML & configparser模块
Posted Yared
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记——基础篇第六周——PyYAML & configparser模块相关的知识,希望对你有一定的参考价值。
PyYAML模块
Python也可以很容易的处理ymal文档格式,只不过需要安装一个模块,参考文档:http://pyyaml.org/wiki/PyYAMLDocumentation
常用模块之ConfigParser模块
用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser。
来看一个好多软件的常见文档格式如下
[DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port = 50022 ForwardX11 = no
如果想用python生成一个这样的文档怎么做呢?
import configparser config = configparser.ConfigParser() config["DEFAULT"] = {\'ServerAliveInterval\': \'45\', \'Compression\': \'yes\', \'CompressionLevel\': \'9\'} config[\'bitbucket.org\'] = {} config[\'bitbucket.org\'][\'User\'] = \'hg\' config[\'topsecret.server.com\'] = {} topsecret = config[\'topsecret.server.com\'] topsecret[\'Host Port\'] = \'50022\' # mutates the parser topsecret[\'ForwardX11\'] = \'no\' # same here config[\'DEFAULT\'][\'ForwardX11\'] = \'yes\' with open(\'example.ini\', \'w\') as configfile: config.write(configfile)
写完了还可以再读出来哈。
1 >>> import configparser 2 >>> config = configparser.ConfigParser() 3 >>> config.sections() 4 [] 5 >>> config.read(\'example.ini\') 6 [\'example.ini\'] 7 >>> config.sections() 8 [\'bitbucket.org\', \'topsecret.server.com\'] 9 >>> \'bitbucket.org\' in config 10 True 11 >>> \'bytebong.com\' in config 12 False 13 >>> config[\'bitbucket.org\'][\'User\'] 14 \'hg\' 15 >>> config[\'DEFAULT\'][\'Compression\'] 16 \'yes\' 17 >>> topsecret = config[\'topsecret.server.com\'] 18 >>> topsecret[\'ForwardX11\'] 19 \'no\' 20 >>> topsecret[\'Port\'] 21 \'50022\' 22 >>> for key in config[\'bitbucket.org\']: print(key) 23 ... 24 user 25 compressionlevel 26 serveraliveinterval 27 compression 28 forwardx11 29 >>> config[\'bitbucket.org\'][\'ForwardX11\'] 30 \'yes\'
configparser增删改查语法
1 [section1] 2 k1 = v1 3 k2:v2 4 5 [section2] 6 k1 = v1 7 8 import ConfigParser 9 10 config = ConfigParser.ConfigParser() 11 config.read(\'i.cfg\') 12 13 # ########## 读 ########## 14 #secs = config.sections() 15 #print secs 16 #options = config.options(\'group2\') 17 #print options 18 19 #item_list = config.items(\'group2\') 20 #print item_list 21 22 #val = config.get(\'group1\',\'key\') 23 #val = config.getint(\'group1\',\'key\') 24 25 # ########## 改写 ########## 26 #sec = config.remove_section(\'group1\') 27 #config.write(open(\'i.cfg\', "w")) 28 29 #sec = config.has_section(\'wupeiqi\') 30 #sec = config.add_section(\'wupeiqi\') 31 #config.write(open(\'i.cfg\', "w")) 32 33 34 #config.set(\'group2\',\'k1\',11111) 35 #config.write(open(\'i.cfg\', "w")) 36 37 #config.remove_option(\'group2\',\'age\') 38 #config.write(open(\'i.cfg\', "w"))
以上是关于Python学习笔记——基础篇第六周——PyYAML & configparser模块的主要内容,如果未能解决你的问题,请参考以下文章
Python学习笔记——基础篇第六周——Subprocess模块