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\'
View Code

 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"))
View Code

 

以上是关于Python学习笔记——基础篇第六周——PyYAML & configparser模块的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记——基础篇第六周——Subprocess模块

Python学习笔记——基础篇第六周——面向对象

Python学习笔记——基础篇第六周——hashlib模块

Python学习笔记——基础篇第六周——模块

Python学习笔记——基础篇第六周——PyYAML & configparser模块

Python学习笔记第六周