python3 之configparser 模块
Posted 道法自然
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘]
以上是关于python3 之configparser 模块的主要内容,如果未能解决你的问题,请参考以下文章
Python学习笔记——基础篇第六周——PyYAML & configparser模块