[Python] Python web messaggi in Post e link a file in differenti directory

Daniele Varrazzo piro a develer.com
Lun 3 Giu 2013 12:38:15 CEST


On Mon, 2013-06-03 at 11:04 +0200, Daniele San Giovanni wrote:
> Ciao. Da circa un mese mi sono avvicinato al mondo Python. Sto creando un'
> applicazione web usando Cherrypy. Mi sto imbattendo in due difficolta di
> cui non riesco ad uscirne.
> 
> 1) Invio dei dati in POST ma non so come riceverli.
>    Mi interesserebbe riceverli in formato dizionario name : valore.

CherryPy passa gli argomenti del get/post come parametri della funzione
che gestisce la vista. Se vuoi i parametri come dizionario puoi usare

        class Root:
            def page(self, **kwargs):
                ....
        
ed ottenere tutti gli argomenti del post in kwargs.


> 2) Uno dei parametri ricevuti in post sarà il nome di una cartella
> contenente un file di configurazione.
> 
> In pratica ho più cartelle con nomi diversi. Dentro ciascuna cartella c'è
> un file config.py contenente una lista: listconfig.
> 
> In pratica ogni cartella fa riferimento ai dati di un dispositivo
> differente e ciascuno ha un proprio config personale.
> 
> Ricevuti i dati in post, dovrò quindi anche accedere alla lista config.

Puoi usare eval per eseguire dinamicamente il codice del file che vuoi
caricare: http://docs.python.org/2/library/functions.html#eval

Forse avevi in mente una soluzione basata sull'import dinamico: quella
te la sconsiglio perché import ha una semantica un po' particolare. Per
caricare dinamicamente una configurazione è meglio eval.


-- 
Daniele



Maggiori informazioni sulla lista Python