El archivo de configuración (.ini) tiene dos formatos:
sesión
1.key = valor
2.key: valor
Cree una prueba de archivo ini, el contenido es el siguiente:
[jingdong]
loca=beijing
boss=liuqiangdong
[Alibaba]
loca=hangzhou
boss=mayun
[tecent]
loca=shehzhen
boss=mahuateng
[huawei]
loca=shenzhen
boss=renzhenfei
Función 1.read ()
def read(self, filenames, encoding=None):
# Read and parse a filename or an iterable of filenames.
# Return list of successfully read files.
Use read () para leer el archivo y recorrer la sección:
import configparser
file_path = "E:/program/python/test/test1/test.ini"
config = configparser.ConfigParser()
config.read(file_path, encoding="gbk")
for x in config:
print(x)
# DEFAULT
# jingdong
# Alibaba
# tecent
# huawei
Función 2.item ()
def items(self, section=_UNSET, raw=False, vars=None):
"""Return a list of (name, value) tuples for each option in a section.
1) Obtén todas las opciones de una sección
t=config.items("huawei")
print(t)
# [('loca', 'shenzhen'), ('boss', 'renzhenfei')]
2) Debido a que se presenta en forma de lista, por supuesto se puede recorrer
for x in config.items("huawei"):
print(x)
# ('loca', 'shenzhen')
# ('boss', 'renzhenfei')
Función 3.add_section ()
def add_section(self, section):
"""Create a new section in the configuration.
Agregar una nueva sección: "dajiang"
config.add_section("dajiang")
for x in config:
print(x)
# DEFAULT
# jingdong
# Alibaba
# tecent
# huawei
# dajiang
Sin embargo, "dajiang" no tiene opciones. La función siguiente se puede agregar con la función
4.set () para configurar cada opción (agregar y modificar)
def set(self, section, option, value=None):
"""Set an option."""
Nuevo)
config.add_section("dajiang")
config.set("dajiang","chanpin","wurenji")
print(config.items("dajiang"))
# [('chanpin', 'wurenji')]
modificar)
config.set("dajiang","chanpin","hangtianfeiji")
print(config.items("dajiang"))
#[('chanpin', 'hangtianfeiji')]
Función 5.get ()
def get(self, section, option, *, raw=False, vars=None, fallback=_UNSET):
"""Get an option value for a given
Obtenga el valor de la opción en la sección dada por sección
print(config.get("huawei","boss"))
#renzhengfei
También puede obtener los elementos después del signo igual de una opción como esta
print(config['huawei']['boss'])
#renzhenfei
6. Cuando se agrega una sección, se eliminará. El pop () aquí no es el último elemento de la lista de eliminación normal, y se elimina de acuerdo con el nombre de la sección.
t=config.pop("huawei")
print(t)
for x in config:
print(x)
# <Section: huawei>
# DEFAULT
# jingdong
# Alibaba
# tecent
# dajiang
Pero no tiene "memoria", huawei se borró antes y vuelve a aparecer después de atravesar de nuevo.
t=config.pop("jingdong")
print(t)
for x in config:
print(x)
# <Section: jingdong>
# DEFAULT
# Alibaba
# tecent
# huawei
# dajiang
Un último recorrido completo:
t=config.pop("jingdong")
print(t)
for x in config:
print(config.items(x))
# <Section: jingdong>
# []
# [('loca', 'hangzhou'), ('boss', 'mayun')]
# [('loca', 'shehzhen'), ('boss', 'mahuateng')]
# [('loca', 'shenzhen'), ('boss', 'renzhenfei')]
# [('chanpin', 'hangtianfeiji')]
En este momento, encontraremos que no hay cambios en nuestro archivo. En este momento, necesitamos:
8.write () function
def write(self, fp, space_around_delimiters=True):
"""Write an .ini-format representation of the configuration state.
with open(file_path,"w",encoding="gbk") as fw:
config.write(fw)
for x in config:
print(config.items(x))
# []
# [('loca', 'beijing'), ('boss', 'liuqiangdong')]
# [('loca', 'hangzhou'), ('boss', 'mayun')]
# [('loca', 'shehzhen'), ('boss', 'mahuateng')]
# [('loca', 'shenzhen'), ('boss', 'renzhenfei')]
# [('chanpin', 'hangtianfeiji')]
¡Los ensayos sobre registros de aprendizaje no son perfectos!
Si hay alguna deficiencia, corríjame y discútala.