python内置库--configparser
Posted MyRecords
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python内置库--configparser相关的知识,希望对你有一定的参考价值。
1 简单介绍
configparser用来处理常见的配置文件ini文件
2 示例
执行
section的名字命名为大写的DEFAULT时 有点特殊,会发现打印出来的所有的section中没有DEFAULT,按照DEFAULT取key-value时,也会说找不到DEFAULT
下面把代码存在DEFAULT的地方改为default,再执行
注意,在section中 key-value的类型必须是字符串,若读取ini文件时,我们需要其他数据类型,需要自己从字符串中转换成需要的类型
除了自己转换,模块本身也提供了一些方法
如 getboolean() getint() getfloat()
执行
除了模块提供的转换方法,我们还可以定制自己的转换方法
python3 之configparser 模块
configparser 简介
configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近
[db]
db_count = 3
1 = passwd
2 = data
3 = ddf
4 = haello
“[ ]”包含的为 section,section 下面为类似于 key - value 的配置内容;
configparser 默认支持 ‘=’ ‘:’ 两种分隔。
import configparser
import os
def get_db():
config=configparser.ConfigParser() #调用配置操作句柄
config_sec=config.sections() #查看所有内容 现在还是[]
print(config_sec)
Filepath="/home/python/tmp/db.ini"
if os.path.exists(Filepath):
config.read(Filepath) #python3 中要用read
db_count=config.get("db","db_count") #查看db下面db_count的值
db_count=int(db_count) #转化为数值
print(db_count)
print(config.items("db")) #查看所有的值
if __name__==‘__main__‘: #程序入口
get_db() #执行函数
>>> for i in config.items(‘db‘):
... print(i)
...
(‘db_count‘, ‘3‘)
(‘1‘, ‘passwd‘)
(‘2‘, ‘data‘)
(‘3‘, ‘ddf‘)
(‘4‘, ‘haello‘)
>>> config.get(‘db‘,‘1‘)
‘passwd‘
检查:
>>> ‘1‘ in config[‘db‘]
True
>>> ‘passwd‘ in config[‘db‘]
False
>>>
添加:
>>> config.add_section(‘Section_1‘)
>>> config.set(‘Section_1‘, ‘key_1‘, ‘value_1‘) # 注意键值是用set()方法
>>> config.write(open(‘db.ini‘, ‘w‘)) # 一定要写入才生效
删除:
>>> config.remove_option(‘Section_1‘, ‘key_1‘)
True
>>> config.remove_section(‘Section_1‘)
True
>>> config.clear() # 清空除[DEFAULT]之外所有内容
>>> config.write(open(‘db.ini‘, ‘w‘))
import configparser
import os
def get_db():
config=configparser.ConfigParser()
config_sec=config.sections()
print(config_sec)
Filepath="/home/python/tmp/db.ini"
if os.path.exists(Filepath):
config.read(Filepath)
db_count=config.get("db","db_count")
db_count=int(db_count)
print(db_count)
print(config.items("db"))
allrules=[]
for a in range(1,db_count+1):
allrules.append(config.get("db",str(a)))
print( allrules)
else:
sys.exit(6)
if __name__==‘__main__‘:
get_db()
运行结果:
[]
3
[(‘db_count‘, ‘3‘), (‘1‘, ‘passwd‘), (‘2‘, ‘data‘), (‘3‘, ‘ddf‘), (‘4‘, ‘haello‘)]
[‘passwd‘, ‘data‘, ‘ddf‘]
以上是关于python内置库--configparser的主要内容,如果未能解决你的问题,请参考以下文章