Python模块之: configobj(转)

刺骨的言语ヽ痛彻心扉 2022-07-13 15:18 204阅读 0赞

原来也有写过一篇文章Python模块之: ConfigParser 用来解析INI文件,但是在使用过程中存在一些问题。比如:
1,不能区分大小写。
2,重新写入的ini文件不能保留原有INI文件的注释。
3,重新写入的ini文件不能保持原有的顺序。
4,不支持嵌套。
5,不支持格式校验。
我本来是想扩展ConfigParser来支持上面的一些缺点的,但是我觉得应该有人有类似的问题并应该有相关的模块满足
我上面的需求的,于是放G搜索之。得到一个Lib: configobj。下面我将举例说明其常用的几个方法:
项目地址:http://www.voidspace.org.uk/python/configobj.html
在介绍之前,还是先各处初始化的test.ini文件:










1


2


3


4


5


6


7


8



[server]


servername = 192.168.11.1


serverport = 8000


 


[client_srv]


# 这里是注释


server = localhost


port = 8000

A: 解析文件:










1


2


3


4


5


6


7


8


9



from
configobj
import
ConfigObj


#


conf_ini
=
“./test.ini”


config
=
ConfigObj(conf_ini,encoding
=
‘UTF8’
)


#


# 读配置文件


#


print
config[
‘server’
]


print
config[
‘server’
][
‘servername’
]

B: 修改配置文件










1


2


3


4


5


6



from
configobj
import
ConfigObj


#


conf_ini
=
“./test.ini”


config
=
ConfigObj(conf_ini,encoding
=
‘UTF8’
)


config[
‘server’
][
‘servername’
]
=
“127.0.0.1”


config.write()

C:添加新项:










1


2


3


4


5


6


7



from
configobj
import
ConfigObj


#


conf_ini
=
“./test.ini”


config
=
ConfigObj(conf_ini,encoding
=
‘UTF8’
)


config[
‘new_items’
]
=
{}


config[
‘new_items’
][
‘Items1’
]
=
“test items”


config.write()

D: 删除项:










1


2


3


4


5


6



from
configobj
import
ConfigObj


#


conf_ini
=
“./test.ini”


config
=
ConfigObj(conf_ini,encoding
=
‘UTF8’
)


del
config[
‘client_srv’
][
‘port’
]


config.write()

E: 将配置文件写入到不同的文件:










1


2


3


4


5


6


7



from
configobj
import
ConfigObj


#


conf_ini
=
“./test.ini”


config
=
ConfigObj(conf_ini,encoding
=
‘UTF8’
)


del
config[
‘client_srv’
][
‘port’
]


config.filename
=
“./test1.ini”


config.write()

发表评论

表情:
评论列表 (有 0 条评论,204人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PYTHON模块--

    模块&包(\ \ \ \ \) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容

    相关 python模块

    1 定义 模块: 用来从逻辑上组织python代码(变量 函数 类 逻辑:   实现一个功能) 本质就是.py结尾的python文件(文件名:test.py 对应的模块名就是

    相关 Python模块

    1、模块:一个.py文件就构成一个模块重点内容 引入模块:import 模块名称(通过引入模块,我们可以调用引入模块里面的程序) 引入模块并重新命名:import 模块