Python configparser procesa archivos de configuración .ini

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.

Supongo que te gusta

Origin blog.csdn.net/liulanba/article/details/114586250
Recomendado
Clasificación