1.configparserの概要
configparserは、Pyhton標準ライブラリ内の構成ファイルを解析するために使用されるモジュールであり、その組み込みメソッドは辞書と非常によく似ています。Python2.xはConfigParserと呼ばれ、3.xはconfigParserに名前が変更され、いくつかの新機能が追加されました。
構成ファイルの形式は次のとおりです。
[logoninfo]
addr=zhangsan
passwd=lisi
popserver=emain
[logging]
level=2
path= "/root"
server="login"
[mysq]
host=127.0.0.1
port=3306
user=root
password=123456
「[]」にはセクションが含まれ、以下のセクションはkey-valueに類似した構成コンテンツです
。configparserはデフォルトで「=」:「2種類の分離をサポートします。以下も有効です。
[mysq]
host:127.0.0.1
port:3306
user:root
password:123456
2.ファイルの内容を読みます
- インスタンスの初期化:configparserを使用するには、最初にインスタンスを初期化し、構成ファイルを読み取る必要があります
- すべてのセクションを取得
- 指定されたセクションのキーを取得します
- 指定されたキーの値を取得します
- 指定されたセクションのキーと値を取得します
- セクションが存在するかどうかを確認します
- 指定されたセクションにキーが存在するかどうかを確認します
- 指定されたセクションで指定されたキーの値を確認してください
以下の関数は、コードに1つずつ直接実装されています。
#coding=utf-8
import configparser
# 初始化实例
conf = configparser.ConfigParser()
print(type(conf)) #conf是类
conf.read('config.ini')
# 获取所有 sections
sections = conf.sections() #获取配置文件中所有sections,sections是列表
print(sections)
# 获取指定 section 的 keys
option = conf.options(conf.sections()[0]) #获取某个section下的所有选项或value,等价于 option = conf.options('logoninfo')
print(option)
# 获取指定 key 的 value
value = conf.get('logoninfo', 'addr') #根据section和value获取key值,等价于value = conf.get(conf.sections()[0], conf.options(conf.sections()[0])[0])
print(value)
# 获取指定 section 的 keys & values
item = conf.items('logoninfo')
print(item)
# 检查 section 是否存在
print("xxxxxxxxxxxxxx")
print('logging' in conf) # 或者 print('logging' in conf.sections())
# 检查指定 section 中 key 是否存在
print("addr" in conf["logoninfo"])
# 检查指定 section 指定 key 的 value
print("zhangsan" in conf["logoninfo"]["addr"]) #等于 "zhangsan" == conf["logoninfo"]["addr"]
3.構成ファイルを生成します
import configparser # 引入模块
config = configparser.ConfigParser() #实例化一个对象
config["logoninfo"] = {
# 类似于操作字典的形式
'addr': "zhangsan",
'passwd': "lisi",
'popserver': "emain"
}
config['logging'] = {
"level": '2',
"path": "/root",
"server": "login",
'User': 'Atlan'
}
config['mysq'] = {
'host': '127.0.0.1',
'port': '3306',
'user': 'root',
'password': '123456'
}
with open('config.ini', 'w') as configfile:
config.write(configfile)
4.構成ファイルを変更します
import configparser
config = configparser.ConfigParser() # 实例化一个对象
config.read('config.ini') # 读文件
config.add_section('yuan') # 添加 section
config.remove_section('mysq.org') # 删除 section
config.remove_option('logoninfo', "popserver") # 删除一个配置项
config.set('logging', 'level', '3') # 修改执行 section 指定 key 的 value
config.set('yuan', 'k2', '22222') # 添加一个配置项
with open('config.ini', 'w') as f:
config.write(f)