[Python] With... as... per sopprimere NameError

Pietro Battiston me a pietrobattiston.it
Mer 15 Maggio 2013 00:27:49 CEST


Il giorno mar, 14/05/2013 alle 22.39 +0200, Manlio Perillo ha scritto:
> Il 14/05/2013 22:24, Pietro Battiston ha scritto:
> > [...]
> > Che ci sia davvero sotto un sortilegio me lo ha dimostrato la seguente
> > cosa: ho provato a modificare il tuo codice in modo che le variabili di
> > "datum" venissero memorizzate come locali, invece che globali (sì,
> > confesso che è ipocrita fare il raffinato su un tale hack), e ne ho
> > avuto il seguente simpatico comportamento, nella parte "in slots...":
> > 
> >     print "c" in locals() # Stampa "True"
> >     print c               # "NameError: global name 'c' is not defined"!
> > 
> 

> [...]
> 
> > Non pago, ho provato ad investigare con un "import ipdb;
> > ipdb.set_trace()" prima di queste due righe... e con ipdb, il NameError
> > scompare!
> > 
> 
> E cosa ottieni?
> Con pdb (il debugger standard), viene sempre lanciata l'eccezione.

ipdb> print c
global added


...


ciao

Pietro



Maggiori informazioni sulla lista Python