He usado ConfigParser durante bastante tiempo para configuraciones simples. Una cosa que me molestó durante mucho tiempo es la sección DEFAULT. No estoy seguro de qué es un uso apropiado. He leído la documentación, pero realmente me gustaría ver algunos ejemplos inteligentes de su uso y cómo afecta a otras secciones del archivo (algo que realmente ilustra el tipo de cosas que son posibles).¿Cuál es el uso previsto de la sección DEFAULT en los archivos de configuración utilizados por ConfigParser?
Respuesta
Encontré una explicación here buscando en Google "windows ini" "sección por defecto". Resumen: lo que sea que ponga en la sección [DEFAULT] se propaga a cada otra sección. Usando el ejemplo de la página web vinculada, vamos a decir que tengo un archivo de configuración llamado TEST1.INI:
[host 1]
lh_server=192.168.0.1
vh_hosts = PloneSite1:8080
lh_root = PloneSite1
[host 2]
lh_server=192.168.0.1
vh_hosts = PloneSite2:8080
lh_root = PloneSite2
puedo leer esto utilizando ConfigParser:
>>> cp = ConfigParser.ConfigParser()
>>> cp.read('test1.ini')
['test1.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
pero noto que lh_server es la misma en ambas secciones; y, de hecho, me doy cuenta de que será lo mismo para la mayoría de los hosts que pueda agregar. Así que puedo hacer esto, como test2.ini:
[DEFAULT]
lh_server=192.168.0.1
[host 1]
vh_root = PloneSite1
lh_root = PloneSite1
[host 2]
vh_root = PloneSite2
lh_root = PloneSite2
A pesar de las secciones no tienen llaves lh_server, todavía puedo acceder a ellos:
>>> cp.read('test2.ini')
['test2.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'
Leer la página vinculada a un ejemplo más de la utilización de variables sustitución en la sección DEFAULT para simplificar aún más el archivo INI.
- 1. ¿Cuál es el uso previsto de IllegalStateException?
- 2. Múltiples archivos de configuración con Python ConfigParser
- 3. Teclas exclusivas ConfigParser de Python por sección
- 4. python configparser escribiendo a la sección predeterminada
- 5. Por favor, dígame ¿cuál es el uso de la palabra clave "default" en C# .NET
- 6. ¿Cómo manejar valores vacíos en archivos de configuración con ConfigParser?
- 7. ¿Cuál es la forma de borrar los activos no utilizados?
- 8. Escribir comentarios en archivos con ConfigParser
- 9. Uso previsto de la unidad de prueba integrada en CodeIgniter
- 10. ¿Cómo uso "código" en la sección [Archivos] de Inno Setup?
- 11. ¿Cuál es el uso previsto de cada plantilla, pros y contras?
- 12. al cerrar el archivo abierto por ConfigParser
- 13. C: ¿Cuál es el uso de 'extern' en los archivos de encabezado?
- 14. ¿Cuál es el uso de la sintaxis = =?
- 15. Python optparse default de los valores por defecto de función
- 16. ¿Cuál es el uso de "#pragma sección <XYZ>" en C?
- 17. Uso de la configuración de la aplicación en los ensamblajes
- 18. ¿Cuál es el uso de los corchetes [] en sentencias sql?
- 19. ¿Cuál es el color de fondo del encabezado de la sección TableView predeterminado en el iPhone?
- 20. Usando ConfigParser de Python para leer un archivo sin nombre de sección
- 21. ¿Cuál es el significado de los archivos dylib?
- 22. ¿Cuál es el uso de los mensajes de confirmación?
- 23. Generar archivos XML utilizados por JUnit Reports
- 24. ¿Cuál es la mejor práctica para la ubicación de los archivos de configuración de la aplicación Java?
- 25. Aplicación de sección de configuración no reconocida Configuración en NHibernate
- 26. Manifiesto de caché: ¿Cuál es la configuración prefer-online?
- 27. ¿Cuál es el proceso de desarrollo previsto en Module :: Starter's manifest.t?
- 28. Configuración ELMAH: la sección de configuración de error no reconocido
- 29. ¿Cómo liberar los recursos utilizados por HttpPostedFileBase?
- 30. Guardar los resultados de la sección de configuración personalizada en System.UnauthorizedAccessException
+1 para usar Python en los ejemplos. – refi64