博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python configparser模块
阅读量:5207 次
发布时间:2019-06-14

本文共 2648 字,大约阅读时间需要 8 分钟。

1 import configparser 2  3  4 """ 5 sections() 返回所有的section 6 has_section(section) 判断是否有指定的section 7 has_option(section, option) 判断是否有指定的section中的option 8 options(section) 返回指定section中的所有option的列表 9 read(filenames, encoding=None) 给定文件名,读配置文件10 read_file(f, filename=None) 给定文件描述符,读配置文件11 read_string(string) 从字符串中读取配置文件12 read_dict(dictionary) 从字典中读取配置文件13 get(section, option, raw=False, vars=None, fallback=_UNSET) 读取指定的sention中的option内容,string14 getint(section, options, raw=False, vars=None, fallback=_UNSET) 同get,结果转int15 getfloat(section, options, raw=False, vars=None, fallback=_UNSET) 同get,结果转float16 getboolean(section, options, raw=False, vars=None, fallback=_UNSET) 同get,结果转bool17 items(section=_UNSET, raw=False, vars=None) 给section返回(name, value),否则(section_name, section_proxy)18 remove_section(section) 删除section19 remove_option(section, option) 删除指定section的option20 set(section, option, value) 设置option21 write(fp, space_around_delimiters=True) 写配置文件22 """23 24 25 def write_config(filename):26     config = configparser.ConfigParser()27     # set db28     section_name = 'db'29     config.add_section(section_name)30     config.set(section_name, 'dbname', 'MySQL')31     config.set(section_name, 'host', '127.0.0.1')32     config.set(section_name, 'port', '80')33     config.set(section_name, 'password', '123456')34     config.set(section_name, 'databasename', 'test')35 36     # set app37     section_name = 'app'38     config.add_section(section_name)39     config.set(section_name, 'loggerapp', '192.168.20.2')40     config.set(section_name, 'reportapp', '192.168.20.3')41 42     # write to file43     with open(filename, 'a') as fd:44         config.write(fd)45 46 47 def update_config(filename, section, **kwargs):48     config = configparser.ConfigParser()49     config.read(filename)50     # print(config.sections())51     for section in config.sections():52         print("[", section, "]")53         items = config.items(section)54         for item in items:55             print("\t", item[0], " = ", item[1])56     if config.has_option("db", "dbname"):57         config.set("db", "dbname", "11")58         print("...............")59     for key in kwargs:60         print("\t", key, " = ", kwargs[key])61         if config.has_option(section, key):62             config.set(section, key, kwargs[key])63             print("...............")64 65     with open(filename, 'r+') as fd:66         config.write(fd)67 68 69 if __name__ == '__main__':70     file_name = 'test.conf'71     write_config(file_name)72     update_config(file_name, 'app', reportapp='192.168.100.100')

 

转载于:https://www.cnblogs.com/gundan/p/8327817.html

你可能感兴趣的文章
解决DataSnap支持的Tcp长连接数受限的两种方法
查看>>
Synchronous/Asynchronous:任务的同步异步,以及asynchronous callback异步回调
查看>>
ASP.NET MVC5 高级编程-学习日记-第二章 控制器
查看>>
如何选择适合自己的云管理平台(一)
查看>>
Hibernate中inverse="true"的理解
查看>>
不同版本(2.3,2.4,2.5,3.0)的Servlet web.xml 头信息
查看>>
Java的String中的subString()方法
查看>>
selenium +chrome headless Adhoc模式渲染网页
查看>>
高级滤波
查看>>
使用arcpy添加grb2数据到镶嵌数据集中
查看>>
[转载] MySQL的四种事务隔离级别
查看>>
QT文件读写
查看>>
C语言小项目-火车票订票系统
查看>>
缓和曲线06七次四项式
查看>>
15.210控制台故障分析(解决问题的思路)
查看>>
BS调用本地应用程序的步骤
查看>>
常用到的多种锁(随时可能修改)
查看>>
用UL标签+CSS实现的柱状图
查看>>
js:语言精髓笔记3----语句
查看>>
mfc Edit控件属性
查看>>