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的主要内容,如果未能解决你的问题,请参考以下文章

Python开发内置模块篇configparser

python3 之configparser 模块

11Python标准库系列之configparser模块

python-day7 python内置模块 面向对象

python configparser 如何去除等号附近的空格

Python configparser标准库简介