深入探讨Python ConfigParser模块正确应用方式

开发 后端
Python ConfigParser模块在实际应中起到了非常大的作用。我们将会在这篇文章中通过一段代码的解读来详细分析这方面的知识。

Python编程语言在实际应用中尅帮助我们创造许多有用的价值。它是一款应用简单的面向对象编程语言,其中包含有许多比较有用的模块供我们使用。今天就为大家介绍其中一个比较重要的Python ConfigParser模块的应用方式。

在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介绍。

Python ConfigParser模块解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如:

  1. [db]  
  2. db_host=127.0.0.1  
  3. db_port=3306 
  4. db_user=root 
  5. db_pass=password 
  6. [concurrent]  
  7. thread=10 
  8. processor=20 

假设上面的配置文件的名字为test.conf。里面包含两个section,一个是db, 另一个是concurrent, db里面还包含有4项,concurrent里面有两项。这里来做做解析:

  1. #-*- encoding: gb2312 -*-  
  2. import ConfigParser  
  3. import string, os, sys  
  4. cf = ConfigParser.ConfigParser()  
  5. cf.read("test.conf")  
  6. # 返回所有的section  
  7. s = cf.sections()  
  8. print 'section:', s  
  9. o = cf.options("db")  
  10. print 'options:', o  
  11. v = cf.items("db")  
  12. print 'db:', v  
  13. print '-'*60  
  14. #可以按照类型读取出来  
  15. db_host = cf.get("db", "db_host")  
  16. db_port = cf.getint("db", "db_port")  
  17. db_user = cf.get("db", "db_user")  
  18. db_pass = cf.get("db", "db_pass")  
  19. # 返回的是整型的  
  20. threads = cf.getint("concurrent", "thread")  
  21. processors = cf.getint("concurrent", "processor")  
  22. print "db_host:", db_host  
  23. print "db_port:", db_port  
  24. print "db_user:", db_user  
  25. print "db_pass:", db_pass  
  26. print "thread:", threads  
  27. print "processor:", processors  
  28. #修改一个值,再写回去  
  29. cf.set("db", "db_pass", "zhaowei")  
  30. cf.write(open("test.conf", "w")) 

以上就是对Python ConfigParser模块的相关应用方法的介绍。

【编辑推荐】

  1. Python读取输入值相关应用技巧分享
  2. Python自动下载文件正确操作方法
  3. Python大小写正确应用方法详解
  4. Python实现WEB实际测试方法介绍
  5. Python操作Access数据库基本操作步骤分析
责任编辑:曹凯 来源: 博客园
相关推荐

2010-03-04 13:30:11

Python file

2010-03-03 17:33:52

Python读取XML

2010-03-03 17:58:16

Python同步队列

2010-02-22 14:09:08

WCF Dispose

2021-08-12 15:45:23

Pythonimport模块

2023-11-24 08:00:00

2009-12-23 16:13:00

WPF Attache

2010-03-05 13:44:00

Python序列

2010-02-05 14:12:46

C++声明放置

2009-12-15 09:34:09

路由信息协议

2009-11-25 10:00:19

无线路由传输

2009-12-14 13:33:49

Ruby与Python

2009-11-20 17:17:08

Oracle函数索引

2021-05-17 05:36:02

CSS 文字动画技巧

2010-07-21 09:38:15

PHP缓存技术

2010-11-22 14:18:32

MySQL锁机制

2021-07-02 16:13:01

区块链金融数据库

2010-01-25 11:29:33

Android计时器

2024-01-26 06:42:05

Redis数据结构

2012-02-28 14:43:43

点赞
收藏

51CTO技术栈公众号