Necesito leer, escribir y crear un INI archivo con Python3.
FILE.INI
default_path = "/path/name/"
default_file = "file.txt"Archivo Python:
#    Read file and and create if it not exists
config = iniFile( 'FILE.INI' )
#    Get "default_path"
config.default_path
#    Print (string)/path/name
print config.default_path
#    Create or Update
config.append( 'default_path', 'var/shared/' )
config.append( 'default_message', 'Hey! help me!!' )FILE.INI ACTUALIZADO
default_path    = "var/shared/"
default_file    = "file.txt"
default_message = "Hey! help me!!"
                    
                        python
                                python-3.x
                                ini
                                
                    
                    
                        Olaf
fuente
                
                fuente

[foobar].Respuestas:
Esto puede ser algo para comenzar:
Puede encontrar más en la documentación oficial de configparser .
fuente
configparser.MissingSectionHeaderErrorcuando se utilizan archivos de ejemplo proporcionados sin los encabezados de sección adecuados.Aquí hay un ejemplo completo de lectura, actualización y escritura.
Archivo de entrada, test.ini
Código de trabajo.
Archivo de salida, test_update.ini
El archivo de entrada original permanece intacto.
fuente
readmétodo ahora devuelve una lista de archivos / archivos leídos, pero no el contenidohttp://docs.python.org/library/configparser.html
La biblioteca estándar de Python puede resultar útil en este caso.
fuente
El estándar
ConfigParsernormalmente requiere acceso a través deconfig['section_name']['key'], lo cual no es divertido. Una pequeña modificación puede ofrecer acceso a atributos:AttrDictes una clase derivada de ladictcual permite el acceso a través de claves de diccionario y acceso a atributos: eso significaa.x is a['x']Podemos usar esta clase en
ConfigParser:y ahora llegamos
application.inicon:como
fuente
config._sections.general.key = "3"no se cambia el valor interno de la opción de configuración y por lo tanto solo se puede usar para acceso de solo lectura. Si después del.read()comando la configuración se amplía o cambia (agregue opciones, pares de valores para algunas secciones, -> que hace interpolación, lo cual podría ser muy importante), ¡este método de acceso no debe usarse! ¡Además, cualquier acceso alconfig._sections["section"]["opt"]que sea privado elude la interpolación y devuelve los valores sin procesar!ConfigObj es una buena alternativa a ConfigParser que ofrece mucha más flexibilidad:
Tiene algunos inconvenientes:
=... ( solicitud de extracción )fuabr =lugar de simplemente lofubarque se ve extraño e incorrecto.fuente
contenido en mi archivo backup_settings.ini
código python para leer
para escribir o actualizar
salida
fuente