2009-08-04 18 views
5

Estoy buscando una buena biblioteca de archivos de configuración para c que no sea xml. De manera óptima, me gustaría uno que también tenga enlaces de python. La mejor opción que he encontrado es usar una biblioteca JSON en c y python. ¿Qué recomendaría o qué método de lectura/escritura prefiere?¿Qué es una buena biblioteca de archivos de configuración para c que no es xml (preferiblemente tiene enlaces de python)?

+3

¿Qué pasa con JSON? Si extiende esto a YAML, podría ser aún más fácil de leer. ¿Qué problemas prevés? –

+0

No hay nada de malo en JSON, prefiero JSON para casi todo. Mi única duda era su sintaxis estricta. Quiero que el archivo de configuración sea fácilmente leído/editado por un no programador, más basado en el espacio en blanco (debería haberlo mencionado). ¡YAML hace exactamente eso! Eso es exactamente lo que quiero, ¡gracias! – user19745

Respuesta

0

Puede utilizar una solución de python puro como ConfigObj y luego simplemente usar la API CPython para consultar la configuración. Esto supone que su aplicación incrusta Python. Si no lo hace, y si está enviando Python de todos modos, podría tener sentido simplemente incrustarlo. Su C .exe no será mucho más grande si se trata de un enlace dinámico, y tendrá toda la flexibilidad de Python a su disposición.

0

A pesar de ser odiados por los expertos en tecnología y rechazados por Microsoft, los archivos INI son bastante populares entre los usuarios, ya que son fáciles de entender y editar. También son muy sencillos para escribir analizadores, en caso de que sus bibliotecas no los admitan.

+1

-1: los archivos ini tienen limitaciones extrañas que los hacen difíciles de trabajar, excepto en casos realmente simples. Para esos casos simples, un archivo de Python lleno de instrucciones de asignación podría ser mejor. –

+0

Bueno, parecían funcionar bien para PHP y Samba, por ejemplo. ¿Y cuáles son esas extrañas limitaciones? –

+0

La estructura de un INI (tal como la analiza el archivo de configuración) es plana. Sin estructura Entonces las secciones tienen nombres compuestos para imponer una estructura. El archivo de inicialización del registro, por ejemplo, es difícil de editar correctamente porque los nombres de las secciones dependen de otras configuraciones ini. –

1

Si usted no está casado con Python, tratar Lua. Originalmente fue diseñado para la configuración.

Cuestiones relacionadas