Python3.x:ConfigParser模块的使用

简介

ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。

使用的配置文件的好处就是不用再程序中硬编码,可以是你的程序变得灵活起来。

注意:在python 3 中ConfigParser模块名已更名为configparser

安装

  1. pip install ConfigParser

函数

  1. 1,读取配置文件
  2. 1read(filename) 直接读取ini文件内容
  3. 2sections() 得到所有的section,并以列表的形式返回
  4. 3options(section) 得到该section的所有option
  5. 4items(section) 得到该section的所有键值对
  6. 5get(section,option) 得到sectionoption的值,返回为string类型
  7. 6getint(section,option) 得到sectionoption的值,返回为int类型
  8. 7getfloat(section,option)得到sectionoption的值,返回为float类型
  9. 8getboolean(section, option)得到sectionoption的值,返回为boolean类型
  10.  
  11. 2,写入配置文件
  12. 1add_section(section) 添加一个新的section
  13. 2has_section(section) 判断是否有section
  14. 3set( section, option, value) section中的option进行设置
  15. 4remove_setion(section)删除一个section
  16. 5remove_option(section, option)删除section中的option
  17. 6write(fileobject)将内容写入配置文件。

属性文件格式(dbconfig.ini)

  1. #数据库参数
  2. [dbserver]
  3. ip=192.20.101.100
  4. port=3306
  5. user=root
  6. password=123456
  7. dbname=mydb

注意:也可以使用:替换=

代码

  1. #python3
  2. #author:lizm
  3. #date:2018-01-31
  4. '''
  5. demo:ConfigParser使用
  6. '''
  7. import configparser
  8. import sys
  9.  
  10. #获取属性文件的值
  11. def dbconfig():
  12. #生成config对象
  13. cfg = configparser.ConfigParser()
  14. #用config对象读取配置文件
  15. cfg.read("dbconfig.ini")
  16. #以列表形式返回所有的section
  17. sections = cfg.sections()
  18. print('sections:', sections)
  19. #输出:sections: ['dbserver']
  20. #得到指定section的所有option
  21. options = cfg.options("dbserver")
  22. print('options:', options)
  23. #输出:options: ['ip', 'port', 'user', 'password', 'dbname']
  24. #得到指定section的所有键值对
  25. useritem = (cfg.items("dbserver"))
  26. print('user:', useritem)
  27. #输出:user: [('ip', '192.20.101.100'), ('port', '3306'), ('user', 'root'), ('password', '123456'), ('dbname', 'mydb')]
  28. #指定section,option读取值
  29. ip = cfg.get("dbserver", "ip")
  30. port = cfg.get("dbserver", "port")
  31. user = cfg.get("dbserver", "user")
  32. password = cfg.get("dbserver", "password")
  33. dbname = cfg.get("dbserver", "dbname")
  34. return (ip,port,user,password,dbname)
  35.  
  36. def writeConfig():
  37. cfg = configparser.ConfigParser()
  38. #用config对象读取配置文件
  39. cfg.read("dbconfig.ini")
  40. #更新指定section,option的值
  41. cfg.set("dbserver", "ip", "192.25.103.150")
  42. #写入指定section增加新option和值
  43. cfg.set("dbserver", "tablenmae", "py_table")
  44. #增加新的section
  45. cfg.add_section('dbserver2')
  46. cfg.set('dbserver2', 'ip', '192.25.105.100')
  47. #写回配置文件
  48. cfg.write(open("dbconfig.ini", "w"))
  49.  
  50. if __name__ == '__main__':
  51. dbconfig = dbconfig()
  52. vrg_ip=dbconfig[0]
  53. vrg_port=dbconfig[1]
  54. vrg_user=dbconfig[2]
  55. vrg_password=dbconfig[3]
  56. vrg_dbname=dbconfig[4]
  57. writeConfig()

注意:用python命令执行测试py:

方法一:切换到py所在的目录再执行python命令,正常

方法二:不切换目录直接执行python命令,异常:属性文件的[dbserver]不存在

原因:没有切到py所在的目录,没有找到正确的属性文件,导致异常;

解决方案:

  1. #用config对象读取配置文件
  2. cfg.read("dbconfig.ini")
  3.  
  4. #改为
  5.  
  6. #用config对象读取配置文件
  7. #获取当前文件的目录
  8. path_ = sys.path[0]
  9. cfg.read(path_+"\dbconfig.ini")

作者:整合侠
链接:http://www.cnblogs.com/lizm166/p/8392141.html
来源:博客园
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Python3.x:ConfigParser模块的使用的更多相关文章

  1. Python3之configparser模块

    1. 简介 configparser用于配置文件解析,可以解析特定格式的配置文件,多数此类配置文件名格式为XXX.ini,例如mysql的配置文件.在python3.X中 模块名为configpars ...

  2. (15)-Python3之--configparser模块

    1.模块简介 configparser模块是python用来读取配置文件的模块,置文件的格式跟windows下的ini或conf配置文件相似,可以包含一个或多个节(section), 每个节可以有多个 ...

  3. python3 之configparser 模块

    configparser 简介 configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近[db]db_count = 31 = passwd2 = dat ...

  4. Python3 中 configparser 模块解析配置的用法详解

    configparser 简介 configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近.Python2.x 中名为 ConfigParser,3.x 已 ...

  5. Python3 中 configparser 模块用法

    configparser 简介 configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近.Python2.x 中名为 ConfigParser,3.x 已 ...

  6. (转)python的ConfigParser模块

    原文:https://blog.csdn.net/miner_k/article/details/77857292 如何使用Python3读写INI配置文件-------https://blog.cs ...

  7. 【python3】configparser读取ini配置文件

    在应用过程中,发现下面这个问题: cf=configparser.ConfigParser()读取配置文件时,如果数据包含%这们析特殊符号,就会报出上面的错误,使用cf = configparser. ...

  8. Python3 logging模块&ConfigParser模块

    ''' 博客园 Infi_chu ''' ''' logging模块 该模块是关于日志相关操作的模块 ''' import logging # logging.debug('debug') # log ...

  9. Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)

    本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 一.前言 我们在<中我们描述了Python数据持久化的大体概念和基本处理方式,通过这些知识点我们已经 ...

随机推荐

  1. IdentityServer4环境部署失败分析贴(一)

    前言: 在部署Idv4站点和其客户端在外网时,发现了许多问题,折腾了许久,翻看了许多代码,写个MD记录一下. 1.受保护站点提示错误: Unable to obtain configuration f ...

  2. 将几何画板x轴坐标值换成弧度制的方法

    大家在学习数学的过程中,都会遇到函数,这个时候大家都会遇到函数图像.对于函数图像我们一般都会通过先建立坐标系,然后让图像呈现在坐标系中.函数的种类有很多,三角函数就是其中之一,在绘制三角函数图像时,我 ...

  3. CNN 各layer汇总

    Flattening:类型为:Flatten 基于某个axis进行偏平的意思,如 axis = 1 ,fattens an input of shape n * c * h * w to a simp ...

  4. @RequestParam 注解

    @RequestParam 注解org.springframework.web.bind.annotation.RequestParam注解类型用于将指定的请求参数赋给方法中的形参.使用@Reques ...

  5. Linux下自动调整时间和时区与Internet时间同步

    (原文链接) 调整linux系统时间和时区与Internet时间同步一.修改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改为中国的 ...

  6. 面试之Java持久层(十)

    91,什么是ORM?         对象关系映射(Object-Relational Mapping,简称ORM)是一种为了解决程序的面向对象模型与数据库的关系模型互不匹配问题的技术: 简单的说,O ...

  7. Django - 环境搭建、url、视图、模板、标签、过滤器

    (一).简介 简介就不多说了,网上的内容一大堆.总结来说,django是走大而全的路线,写项目超级快,几乎什么都为你考虑到了,你就乖乖照着它的格式来写就行了. 这里来一些基本认知: web应用框架(w ...

  8. 【BZOJ4504】K个串 可持久化线段树+堆

    [BZOJ4504]K个串 Description 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计 ...

  9. angular做的简单购物车

    虽然本人也是刚刚才开始学习angular.js,并不是非常会,但是这并不能阻止我对angular的喜爱.因为它太省代码了,比如说一个比较简单的购物车,就是只有商品名称,单价,数量,小计,总计和删除功能 ...

  10. 向spider中传递参数

    1.这里采用run.py脚本方式 # 通过CrawlerProcess同时运行几个spider import scrapy from scrapy.crawler import CrawlerProc ...