[Python] With... as... per sopprimere NameError
Andrea Francia
andrea a andreafrancia.it
Mar 14 Maggio 2013 13:55:43 CEST
2013/5/14 Pietro Battiston <me a pietrobattiston.it>
> Salve a tutti,
>
> sto usando con ragionevole soddisfazione del codice di questo tipo:¹
>
> class TuDimmiCosaVuoiCheCiPensoIo():
> def __init__(self, d):
> self._d = d
> self._pres = {}
> def __enter__(self):
> for key in self._d:
> if key in globals():
> self._pres[key] = globals()[key]
> globals()[key] = self._d[key]
> def __exit__(self, type, value, traceback):
> for key in self._d:
> if key in self._pres and globals()[key] == self._d[key]:
> # Not changed - restore:
> globals()[key] = self._pres[key]
>
> a = "non ti sto mica salutando"
>
> print a
> with TuDimmiCosaVuoiCheCiPensoIo( {"a" : "ciao"} ):
> print a
>
> print a
>
Ad occhio non sembra reentrant :/
Ciao
--
Andrea Francia http://andreafrancia.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130514/47741872/attachment.html>
Maggiori informazioni sulla lista
Python