python ConfigParser模块 配置文件解析
ConfigParser模块主要是用来解析配置文件的模块,像mysql,或者win下面的ini文件等等
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
[root@localhost config]# cat 1c.py import ConfigParser parser=ConfigParser.SafeConfigParser() parser.read('/etc/my.cnf') print parser.get('mysqld','socket') [root@localhost config]# python 1c.py /var/lib/mysql/mysql.sock
1 [root@localhost config]# cat 2c.py 2 import ConfigParser 3 parser=ConfigParser.SafeConfigParser() 4 parser.read('/etc/my.cnf') 5 print parser.sections() #打印配置文件里面的节点 6 for nodename in parser.sections(): 7 print "nodename:",nodename 8 print "optionsname:",parser.options(nodename) #获取节点名里面的选项 9 for name,value in parser.items(nodename): #以字典的方式返回 10 print "%s=%s"%(name,value) 11 12 [root@localhost config]# python 2c.py 13 ['mysqld_safe', 'mysqld'] 14 nodename: mysqld_safe 15 optionsname: ['log-error', 'pid-file'] 16 log-error=/var/log/mysqld.log 17 pid-file=/var/run/mysqld/mysqld.pid 18 nodename: mysqld 19 optionsname: ['datadir', 'socket', 'symbolic-links', 'user'] 20 datadir=/var/lib/mysql 21 socket=/var/lib/mysql/mysql.sock 22 symbolic-links=0 23 user=mysql
[root@localhost config]# cat 3c.py import ConfigParser parser=ConfigParser.SafeConfigParser(allow_no_value=True) parser.read('/etc/my.cnf') for node in parser.sections():for optionname in parser.options(node):print "%s=%s"%(optionname,parser.get(node,optionname)) #利用get方法返回一个值的整型,但是log-bin没有值,所以返回None [root@localhost config]# python 3c.py log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid user=mysql datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-bin=None
1 [root@localhost config]# cat 4c.py 2 import ConfigParser 3 parser=ConfigParser.SafeConfigParser(allow_no_value=True) 4 parser.read('/etc/my.cnf') 5 for section in ['mysqld','mysqld1']: 6 print "[%s] is exists?:%s" %(section,parser.has_section(section)) 7 print "[%s]serverid option is exists?:%s"%(section,parser.has_option(section,'serverid')) 8 [root@localhost config]# python 4c.py 9 [mysqld] is exists?:True 10 [mysqld]serverid option is exists?:True 11 [mysqld1] is exists?:False 12 [mysqld1]serverid option is exists?:Fals
1 [root@localhost config]# cat 5c.py 2 import ConfigParser 3 import sys 4 parser=ConfigParser.SafeConfigParser(allow_no_value=True) 5 parser.read('/etc/my.cnf') 6 parser.add_section('mysqld1') 7 parser.set('mysqld1','serverid','2') 8 parser.set('mysqld1','log-bin') 9 parser.write(sys.stdout) 10 [root@localhost config]# python 5c.py 11 [mysqld1] 12 serverid = 2 13 log-bin 14 15 [mysqld_safe] 16 log-error = /var/log/mysqld.log 17 18 [mysqld] 19 socket = /var/lib/mysql/mysql.sock 20 datadir = /var/lib/mysql 21 log-bin 22 serverid = 2 23 symbolic-links = 0 24 user = mysql
修改serverid属性值并写进my.cnf文件(节点顺序也反了)
1 [root@localhost config]# cat 5c1.py 2 import ConfigParser 3 parser=ConfigParser.SafeConfigParser(allow_no_value=True) 4 parser.read('/etc/my.cnf') 5 parser.set('mysqld','serverid','8') 6 with open('/etc/my.cnf','w') as f: 7 parser.write(f) 8 [root@localhost config]# python 5c1.py 9 [root@localhost config]# cat 5c1.py 10 import ConfigParser 11 parser=ConfigParser.SafeConfigParser(allow_no_value=True) 12 parser.read('/etc/my.cnf') 13 parser.set('mysqld','serverid','8') 14 with open('/etc/my.cnf','w') as f: 15 parser.write(f) 16 [root@localhost config]# cat /etc/my.cnf 17 [mysqld_safe] 18 log-error = /var/log/mysqld.log 19 20 [mysqld] 21 socket = /var/lib/mysql/mysql.sock 22 datadir = /var/lib/mysql 23 log-bin 24 serverid = 8 25 symbolic-links = 0 26 user = mysql
转载于:https://www.cnblogs.com/pping/p/3893524.html
python ConfigParser模块 配置文件解析相关推荐
- Python Configparser模块读取、写入配置文件
写代码中需要用到读取配置,最近在写python,记录一下. 如下,假设有这样的配置. [db] db_host=127.0.0.1 db_port=3306 db_user=root db_pass= ...
- python configparser模块来 读取 、 创建 和 修改 配置文件
安装configparser模块 # python2.7模块名为ConfigParser pip3 install configparser 创建配置文件 创建一个example.ini配置文件,具体 ...
- python configparser模块_Python标准库之ConfigParser模块
ConfigParser模块用于生成和修改常见配置文档. 比如配置文件格式如下: [DEFAULT] ServerAliveInterval= 45Compression=yes Compressio ...
- python ConfigParser模块详解
功能介绍: 在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简 ...
- Python configparser模块操作代码实例
1.生成配置文件 '''生成配置文件 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的 ...
- Python configparser模块
来看一个好多软件的常见文档格式如下: 1 2 3 4 5 6 7 8 9 10 11 12 [DEFAULT] ServerAliveInterval = 45 Compression = yes C ...
- Python ConfigParser 模块
用于生成和修改常见配置文档 import configparserconfig = configparser.ConfigParser() config["DEFAULT"] = ...
- python配置文件解析_Python中配置文件解析模块-ConfigParser
Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置). 配置文件的格式是: []包含的叫section, section 下有option=valu ...
- [Python]ConfigParser解析配置文件
近期发现非常多接口配置都硬编码在souce file中了,于是就看了下python怎么解析配置文件,重构下这一块. 这个应该是早就要作的... 配置文件: [mysqld] user = mysql ...
- python生成配置文件config_Python configparser模块封装及构造配置文件
1.configparser模块简介 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configP ...
最新文章
- java bean配置文件_Spring中多配置文件及引用其他bean的方式
- FPGA 开平方方法
- .net 无法通过嵌套类型访问外部类型的非静态成员-解决方案
- 轻量级微服务架构实践之路
- 三、【SAP-PM模块】PM模块主数据
- 实车采集的数据重建场景_SIGGRAPH | 多机器人协同三维场景重建
- POJ 1655 Balancing Act (树的重心)
- 优化 Azure 成本,实现财务目标
- 使用Terraform创建托管版Kubernetes
- 61 MM配置-后勤发票校验-发票冻结-设置容差限制
- Input 输入设备驱动框架
- 自动布局之autoresizingMask
- P3853 [TJOI2007]路标设置
- 某企业信息安全体系整体建设方案规划方案毕业设计毕业答辩
- SWS_BICUBIC未声明的标识符解决方法
- 神操作!我把 3000 行代码重构成 15 行!
- 文件夹中的文件在另一程序被打开
- IFD6500_USB转串口驱动
- 零基础学python_03_字符串(拼接+换行+制表符)
- 如何调整word分栏后,左右不平齐的现象