1、configparser的作用

mysql等很多文件的配置如下:

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes

[bitbucket.org]
User = hg

[topsecret.server.com]
Port = 50022
ForwardX11 = no

如何用python生成和更改类似的配置文件,需要使用configparser模块,是python3的内置模块,可以直接导入

2、如何写一个配置文件

方法:add_section(section) 添加一个新的section

import configparser
config = configparser.ConfigParser()
config = configparser.ConfigParser() #生成一个对象
print(type(config)) #默认会有DEFAULT节点
config["DEFAULT"] = {
'ServerAliveInterval': 45,
'Compression': 'yes',
'CompressionLevel': '9'
} #感觉有点像字典的配置,哈哈,给默认的DEFAULT #新增节点
config.add_section('hello.org')
config.set('hello.org','IP','192.168.9.12') config['bitbucket.org'] ={} #必须得先把节点加上,再在下面进行一个参数配置,否则会报错
config['bitbucket.org']['User'] = 'hg' #增加一个配置 #换种写法
config['topsecret.server.com'] = {}
topsecret = config['topsecret.server.com'] #先把一个节点赋给一个变量也是OK的
topsecret["Host Port"] = '50022' config['DEFAULT']['ForwardX11'] = 'yes' #默认节点也可以这样搞 #将写好的配置文件写入文件
with open('example.ini','w') as configfile:
config.write(configfile)

3、读取一个配置文件

RawCnfigParser是最基础的INI文件读取类,ConfigParser、SafeConfigParser支持对%(value)s变量的解析。
read(filename) 直接读取ini文件内容
sections() 得到所有的section,并以列表的形式返回
options(section) 得到该section的所有option
items(section) 得到该section的所有键值对
get(section,option) 得到section中option的值,返回为string类型
getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

# [DEFAULT]
# compressionlevel = 9
# compression = yes
# serveraliveinterval = 45
# forwardx11 = yes
#
# [hello.org]
# ip = 192.168.9.12
# serveraliveinterval = 46
#
# [bitbucket.org]
# serveraliveinterval = 46
#
# [portal]
# url = http://%(host)s:%(port)s/Portal
# host = localhost
# port = 8888
#
# [topsecret.server.com]
# host port = 50022 import configparser
config = configparser.ConfigParser() #生成一个对象
config.read("example.ini") #这样就把配置文件读过来了 print(config.sections()) #打印一下节点,发现木有DEFAULT:['bitbucket.org', 'topsecret.server.com'] #打印某个节点下的键,会把DEFALUT的也打印一下,除非这个节点下的键将DEFAULT的值覆盖掉
print(config.options('bitbucket.org')) #将某个节点的配置以键值对的形式打印出来,是一个list
print(type(config.items('bitbucket.org')) ) #获取某个单个键的值
print(config.get('bitbucket.org','user'))
print(config.get('bitbucket.org','compression')) #也可以获取默认的,如果没有覆盖的话 print("key:",config.items('bitbucket.org')[0][0],"value:",config.items('bitbucket.org')[0][1])
print(config.get('portal','url')) #明显支持%(value)s的解析,挺好用的

4、配置文件的删和改

import configparser
config = configparser.ConfigParser() #生成一个对象 config.read('example.ini') config.remove_section('section1')
config.remove_option('bitbucket.org','user') config.set('portal','port','8888') config.write(open('example.ini', "w"))

 

configparser配置文件模块的更多相关文章

  1. configparser 配置文件模块

    #_author:star#date:2019/11/7# configparser 配置文件模块import configparserconfig=configparser.ConfigParser ...

  2. hashlib摘要算法模块,logging日志,configparser配置文件模块

    一.hashlib模块(摘要算法模块) 1.算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢? 摘要算法又称哈希算法.散列算法.它通过一个函数,把 ...

  3. configparser (配置文件) 模块

    主要内容来自景女神博客 内涵:该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 常见文档格式: [DEFAULT] ...

  4. day31 configparser 配置文件模块

    #__author__: Administrator #__date__: 2018/8/8 # configparse 生成配置文件,配置文会以件.ini结尾 # 对于格式有要求 # 创建配置文档 ...

  5. 面向对象总结、configparser配置文件模块、logging日志模块

    面向对象总结 # 学习态度# python基础 2个月# html css js jq 1个月 # 上课困 # 学习方法 :# 列出知识点# 例子 写了哪些 # 面向对象学了哪些块# 为什么要讲面向对 ...

  6. Python之配置文件模块 ConfigParser

    写项目肯定用的到配置文件,这次学习一下python中的配置文件模块 ConfigParser 安装就不说了,pip一下即可,直接来个实例 配置文件 project.conf [db] host = ' ...

  7. s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译

    时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...

  8. 第四十二节,configparser特定格式的ini配置文件模块

    configparser用于处理特定格式的文件,其本质上是利用open来操作文件. 特定格式的ini配置文件模块,用于处理ini配置文件,注意:这个ini配置文件,只是ini文件名称的文本文件,不是后 ...

  9. Python模块之: ConfigParser 配置文件读取

    Python模块之: ConfigParser 配置文件读取   ConfigParser用于读写类似INI文件的配置文件,配置文件的内容可组织为组,还支持多个选项值(option-value)类型. ...

随机推荐

  1. IOS开发中各种型号的分辨率及软件图标的制作

    IOS中各手机的分辨率为: 5.5寸: 1242*2208;4.7寸: 750*1334;4.0寸: 640*1136;3.5寸: 640*960; 软件的图标有以下需求(注意选中右侧红色框中这一条) ...

  2. ARM处理器工作模式

    学习ARM处理器参考的首选资料是ARM Architecture Reference Manual,是最专业权威的学习资料. ARM处理器共有7种工作模式,如表1-1和1-2所示: 表1-1 处理器工 ...

  3. docker网络访问(三)

    docker网络访问 ifconfig查看网卡,启动docker的时候,docker会帮我们创建一个docker0的网桥. 1.随机映射 docker run -P 2.指定映射 -p hostPor ...

  4. DNS分析

    一.DNS服务器 区域传送: 区域(zone)和 域(domain) 区域:物理概念 域:逻辑概念 区域数据库文件: 资源记录:RR 有类型:A AAAA PTR SOA NS CNAME MX SO ...

  5. scale等比缩放才能做到看上去能让线条以中心点展开

    .nav-menu>ul>li>a::before {  background: #333 none repeat scroll 0 0;  bottom: -2px;  conte ...

  6. NodeJS的Cluster模块使用

    一.前言大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算.所以,有人开发了第三方的cluster,让node可以利用多核CPU实现并行. 随着n ...

  7. Bootstrap入门(二十七)JS插件4:标签页

    Bootstrap入门(二十七)JS插件4:标签页 标签页的切换可以带动内容的变化 首先我们引入CSS文件 <link href="bootstrap.min.css" re ...

  8. Bootstrap入门(八)组件2:下拉菜单

    Bootstrap入门(八)组件2:下拉菜单   先引入本地的CSS文件和JS文件(注:1.bootstrap是需要jQuery支持的.2.需要在<body>当中添加) <link ...

  9. python中将两个list合并为字典

    两个list合并为字典的代码如下: def Run(): list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", " ...

  10. GIT团队开发操作

    01. 建立代码仓库(专门用于团队开发的代码仓库) ========================================================================== ...