[Python] settings configurabili

Francesco Pischedda francesco.pischedda a gmail.com
Dom 25 Maggio 2014 15:58:23 CEST


Salve a tutti,

da poco ho sviluppato una piccola applicazione desktop, con pyqt5, che tra
le altre cose si interfaccia ad una API REST e invia file ad un server; per
semplificarmi un po la vita ho creato un modulo dove sono specificati tutti
i settaggi del caso (URL, percorsi del disco etc) e fin qui tutto
abbastanza normale.
Per semplificarmi un pelo di più la vita (cioè per evitare di fare una
nuova build ad ogni cambiamento) ho tirato fuori questo codice:

__doc__ = """
config.py - read specified configuration file (defaults to config.json)
and updates settings.py module variables accordingly
"""
import json
from settings import settings


def read_configuration(filename='config.json'):
    with open(filename, 'r') as f:
        obj = json.load(f)

        for k, v in obj.items():
            settings.__dict__[k] = v

    return obj

in questo modo posso modificare sti benedetti settings una volta che
l'applicazione è stata "pacchettizzata" con cx_freeze

Chiaramente è una soluzione molto semplice e mi chiedevo se non esistesse
qualcosa di gia pronto o delle best practice per affrontare questo
problemino.

Buona domenica a tutti,
Francesco

-- 
"Shipping is a feature. A really important feature. Your product must have
it."

"Rendete ogni cosa il più semplice possibile, ma non di più" (Albert
Einstein)

"You are what you choose today, not what you've chosen before"

"Unix IS user friendly. It's just selective about who its friend are"
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140525/f1f0562f/attachment.html>


Maggiori informazioni sulla lista Python