码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-05-23 20:53:02      阅读:728      评论:0      收藏:0      [点我收藏+]

标签:

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模块

标签:

原文地址:http://www.cnblogs.com/yard/p/5521161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!