configparser配置文件模块
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配置文件模块的更多相关文章
- configparser 配置文件模块
#_author:star#date:2019/11/7# configparser 配置文件模块import configparserconfig=configparser.ConfigParser ...
- hashlib摘要算法模块,logging日志,configparser配置文件模块
一.hashlib模块(摘要算法模块) 1.算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢? 摘要算法又称哈希算法.散列算法.它通过一个函数,把 ...
- configparser (配置文件) 模块
主要内容来自景女神博客 内涵:该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 常见文档格式: [DEFAULT] ...
- day31 configparser 配置文件模块
#__author__: Administrator #__date__: 2018/8/8 # configparse 生成配置文件,配置文会以件.ini结尾 # 对于格式有要求 # 创建配置文档 ...
- 面向对象总结、configparser配置文件模块、logging日志模块
面向对象总结 # 学习态度# python基础 2个月# html css js jq 1个月 # 上课困 # 学习方法 :# 列出知识点# 例子 写了哪些 # 面向对象学了哪些块# 为什么要讲面向对 ...
- Python之配置文件模块 ConfigParser
写项目肯定用的到配置文件,这次学习一下python中的配置文件模块 ConfigParser 安装就不说了,pip一下即可,直接来个实例 配置文件 project.conf [db] host = ' ...
- 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时间 ...
- 第四十二节,configparser特定格式的ini配置文件模块
configparser用于处理特定格式的文件,其本质上是利用open来操作文件. 特定格式的ini配置文件模块,用于处理ini配置文件,注意:这个ini配置文件,只是ini文件名称的文本文件,不是后 ...
- Python模块之: ConfigParser 配置文件读取
Python模块之: ConfigParser 配置文件读取 ConfigParser用于读写类似INI文件的配置文件,配置文件的内容可组织为组,还支持多个选项值(option-value)类型. ...
随机推荐
- 集群下Cookie共享,必须要设置machineKey
这个节允许你设置用于加密数据和创建数字签名的服务器特定的密钥.ASP.NET自动使用它来保护表单验证Cookie,你也可以将它用于受保护的视图状态数据.同时,这个密钥还用于验证进程外的会话状态提供程序 ...
- Python计算一个项目中含有的代码行数
最近想要知道以前做过的project有多少行代码,因为文件太多,直接手工数效率太低,于是编写一个python程序用来计算一个project有多少代码行. 首先,在一个项目中,有很多子文件夹,子文件夹中 ...
- 1.3.2. App Icon 和 Launch Image(Core Data 应用程序实践指南)
App Icon: 选中 Assets.xcassets 选择 AppIcon ,并拖入图片(29.40.60) Launch Image: 创建 Launch Image 拖入图片(2x.R4)
- 用mui框架开发手机app项目实践中的那些事儿
http://www.yilingsj.com/xwzj/2015-04-29/260.html 最近在玩mui框架,坑的我是:西湖的水,全都是眼泪!!! 公司的手机app要进行改版,我率先想到的是j ...
- JS 继承(类式 与 原型式)
1. /* -- 类式继承 -- *///先声明一个超类 function Person(name) { this.name = name;}//给这个超类的原型对象上添加方法 getName Per ...
- MariaDB多源复制环境搭建(多主一丛)
环境: 192.168.1.248 HE1 主库 192.168.1.249 HE2 主库 192.168.1.250 HE3 从库 主库授权备份账户 mysql> grant SELECT, ...
- CentOS6.5+mysql5.5源码安装
数据库安装 1新增mysql用户 [root@HE1mysql]# groupadd mysql -g 502 [root@HE1mysql]# useradd -g mysql -s /sbin/n ...
- 在Express中安装XTemplate
上一节讲了安装Express,并且生成了一个"microblog"的工程,我们的目标是在工程下安装XTemplate: 1.安装xtpl npm install xtpl xtem ...
- WebAppBuilder自定义主题
WebAppBuilder自定义主题 by 李远祥 基本步骤: 创建新主题的文件夹 注册新的主题到manifest.json 文件 覆盖HeaderController 部件的颜色. 覆盖panel的 ...
- 循环语句——for语句
一.for语句结构:for (初始化表达式; 循环条件表达式 ;循环后的操作表达式 ) { 执行语句: } 循环条件表达式,必须是true或false 示例: class ForDemo { publ ...