Python开发内置模块篇configparser

Posted Tanglaoer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发内置模块篇configparser相关的知识,希望对你有一定的参考价值。

生成配置文件

技术分享图片
import configparser
config = configparser.ConfigParser()
config["DEFAULT"] = {ServerAliveInterval: 45,
                      Compression: yes,
                     CompressionLevel: 9,
                     ForwardX11:yes
                     }
config[bitbucket.org] = {User:hg}

config[topsecret.server.com] = {Host Port:50022,ForwardX11:no}

with open(example.ini, w) as f:
   config.write(f)
View Code
技术分享图片
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[bitbucket.org]
user = hg

[topsecret.server.com]
host port = 50022
forwardx11 = no
example.ini

普通操作

技术分享图片
import configparser

config = configparser.ConfigParser()
# #---------------------------查找文件内容,基于字典的形式
print(config.sections())        #  []

config.read(example.ini)         # 读取文件指定文件
print(config.sections())        #   [‘bitbucket.org‘, ‘topsecret.server.com‘]

print(bytebong.com in config) # False
print(bitbucket.org in config) # True

print(config[bitbucket.org]["user"])  # hg
print(config[DEFAULT][Compression]) #yes
print(config[topsecret.server.com][ForwardX11])  #no
#
print(config[bitbucket.org])          #<Section: bitbucket.org>

for key in config[bitbucket.org]:     # 注意,有default会默认读default的键
    print(key)
"""
user
serveraliveinterval
compression
compressionlevel
forwardx11
"""

print(config.options(bitbucket.org))  # 同for循环,找到‘bitbucket.org‘下所有键
# [‘user‘, ‘serveraliveinterval‘, ‘compression‘, ‘compressionlevel‘, ‘forwardx11‘]


print(config.items(bitbucket.org))    #找到‘bitbucket.org‘下所有键值对
# [(‘serveraliveinterval‘, ‘45‘), (‘compression‘, ‘yes‘), (‘compressionlevel‘, ‘9‘), (‘forwardx11‘, ‘yes‘), (‘user‘, ‘hg‘)]

print(config.get(bitbucket.org,compression)) # yes       get方法Section下的key对应的value
# yes
获取配置信息

高级操作

技术分享图片
import configparser
config = configparser.ConfigParser()
config.read(example.ini)   # 读文件
config.add_section(yuan)   # 增加section
config.remove_section(bitbucket.org)   # 删除一个section
config.remove_option(topsecret.server.com,"forwardx11")  # 删除一个配置项
config.set(topsecret.server.com,k1,11111)
config.set(yuan,k2,22222)
f = open(new2.ini, "w")
config.write(f) # 写进文件
f.close()

#这些操作不会修改example.ini的文件 因为是以读打开的文件
读取example.ini写入new2.ini
技术分享图片
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes

[topsecret.server.com]
host port = 50022
k1 = 11111

[yuan]
k2 = 22222
new2.ini

 

以上是关于Python开发内置模块篇configparser的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记——基础篇第六周——PyYAML & configparser模块

python3 之configparser 模块

python读取配置文件 变量 ConfigParser模块

Python开发内置模块篇日志模块

Python全栈开发——hashlib和configparser模块

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