Python学习积累《一》
2011-07-28 21:52
288 查看
一、ConfigParser: 用python解析配置文件
原文地址: http://hi.baidu.com/python23/blog/item/89f94523a8ae69539822eddd.html
在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍。
ConfigParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如:
[db]
db_host=127.0.0.1
db_port=3306
db_user=root
db_pass=password
[concurrent]
thread=10
processor=20
假设上面的配置文件的名字为test.conf 路径为:c:\temp\test.conf。里面包含两个section,一个是db, 另一个是concurrent, db里面还包含有4项,concurrent里面有两项。这里来做做解析:
#-*- encoding: gb2312 -*-
import ConfigParser
import string, os, sys
cf = ConfigParser.ConfigParser()
cf.read("c:\\temp\\test.conf")
# 这块需注意
# 返回所有的section
s = cf.sections()
print 'section:', s
o = cf.options("db")
print 'options:', o
v = cf.items("db")
print 'db:', v
print '-'*60
#可以按照类型读取出来
db_host = cf.get("db", "db_host")
db_port = cf.getint("db", "db_port")
db_user = cf.get("db", "db_user")
db_pass = cf.get("db", "db_pass")
# 返回的是整型的
threads = cf.getint("concurrent", "thread")
processors = cf.getint("concurrent", "processor")
print "db_host:", db_host
print "db_port:", db_port
print "db_user:", db_user
print "db_pass:", db_pass
print "thread:", threads
print "processor:", processors
#修改一个值,再写回去
cf.set("db", "db_pass", "zhaowei")
cf.write(open("test.conf", "w"))
原文地址: http://hi.baidu.com/python23/blog/item/89f94523a8ae69539822eddd.html
在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍。
ConfigParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如:
[db]
db_host=127.0.0.1
db_port=3306
db_user=root
db_pass=password
[concurrent]
thread=10
processor=20
假设上面的配置文件的名字为test.conf 路径为:c:\temp\test.conf。里面包含两个section,一个是db, 另一个是concurrent, db里面还包含有4项,concurrent里面有两项。这里来做做解析:
#-*- encoding: gb2312 -*-
import ConfigParser
import string, os, sys
cf = ConfigParser.ConfigParser()
cf.read("c:\\temp\\test.conf")
# 这块需注意
# 返回所有的section
s = cf.sections()
print 'section:', s
o = cf.options("db")
print 'options:', o
v = cf.items("db")
print 'db:', v
print '-'*60
#可以按照类型读取出来
db_host = cf.get("db", "db_host")
db_port = cf.getint("db", "db_port")
db_user = cf.get("db", "db_user")
db_pass = cf.get("db", "db_pass")
# 返回的是整型的
threads = cf.getint("concurrent", "thread")
processors = cf.getint("concurrent", "processor")
print "db_host:", db_host
print "db_port:", db_port
print "db_user:", db_user
print "db_pass:", db_pass
print "thread:", threads
print "processor:", processors
#修改一个值,再写回去
cf.set("db", "db_pass", "zhaowei")
cf.write(open("test.conf", "w"))
相关文章推荐
- Python 学习积累《二》 Python的内省机制
- JAVA从菜鸟【入门】到新手【实习】一一转入第二语言Python学习“灵活学习,学练结合,经验积累”
- Python学习积累《二》
- Python积累学习(一)ftp上传或下载操作
- Python 学习积累《一》
- Python 学习积累《三》 多线程
- TensorFlow 学习积累(2): Python类中的__init__() 和 self
- python3.4学习的点点滴滴、不断的积累
- Python 学习积累《一》
- python学习笔记之注册表修改
- 学习Python:深刻理解Python中的元类(metaclass)
- 认真学习python,从第一篇博客开始
- <Test-Driven Development with Python>学习笔记 第一部分 测试驱动开发基础
- python生成器学习
- Python学习笔记(一)数据类型
- Python学习之面向对象(class)
- python之string模块 分类: python基础学习 python Module 2013-08-27 13:58 241人阅读 评论(0) 收藏
- Python爬虫学习记录(1)——Xiami全站播放数
- python 字典学习2
- Python 排序的姿势,你们,你们还要学习..学习一个