2009-08-04 6 views
5

Sto cercando una buona libreria di file di configurazione per c che non sia xml. Veramente mi piacerebbe davvero uno che abbia anche collegamenti Python. L'opzione migliore che ho trovato è quella di utilizzare una libreria JSON sia in c che in python. Cosa consiglieresti o quale metodo di lettura/scrittura preferisci per le impostazioni di configurazione?Che cos'è una buona libreria di file di configurazione per questo non xml (preferibilmente ha collegamenti Python)?

+3

Cosa c'è che non va con JSON? Se lo estendi a YAML, potrebbe essere ancora più semplice da leggere. Quali problemi prevedi? –

+0

Non c'è niente di sbagliato in JSON, preferisco JSON per la maggior parte di tutto. La mia unica esitazione era la sua sintassi rigorosa. Voglio che il file di configurazione sia facilmente leggibile/modificato da un non programmatore, più beased su spazi bianchi (dovrei averlo menzionato). YAML fa esattamente questo! Questo è esattamente quello che voglio, grazie! – user19745

risposta

0

È possibile utilizzare una soluzione Python pura come ConfigObj e quindi utilizzare semplicemente l'API CPython per richiedere le impostazioni. Ciò presuppone che la tua applicazione incorpori Python. In caso contrario, e se stai spedendo comunque Python, potrebbe aver senso semplicemente incorporarlo. Il tuo C .exe non diventerà molto più grande se si tratta di un collegamento dinamico, e avrai tutta la flessibilità di Python a tua disposizione.

0

Nonostante siano odiati dai tecnici e rinnegati da Microsoft, i file INI sono in realtà molto popolari tra gli utenti, in quanto sono facili da comprendere e modificare. Sono anche molto semplici da scrivere per i parser, se le tue librerie non li supportano già.

+1

-1: i file ini hanno strane limitazioni che li rendono difficili da utilizzare, tranne che in casi davvero semplici. Per quei casi semplici, un file Python pieno di istruzioni di assegnazione potrebbe essere migliore. –

+0

Beh, sembra che funzionino bene per PHP e Samba, per esempio. E quali sono quei limiti strani? –

+0

La struttura di un INI (come analizzata da configfile) è piatta. Nessuna struttura Quindi le sezioni hanno nomi composti per imporre una struttura. Il file di inizializzazione della registrazione, ad esempio, è difficile da modificare correttamente perché i nomi delle sezioni dipendono da altre impostazioni ini. –

1

Se non sei sposato a Python, provare Lua. È stato originariamente progettato per la configurazione.

Problemi correlati