[Python] Ripartire 'da capo'
Esalando Prassi
alessandro.pisa a katamail.com
Sab 25 Ott 2008 12:42:48 CEST
Ciao!
Prova a partire da questo esempio:
>>> oldlocals=locals().keys()
>>> a,b,c,d = 1,2,3,4
>>> newlocals=locals().keys()
>>> oldlocals
['__builtins__', '__file__', '__name__', 'readline', 'rlcompleter',
'__doc__']
>>> newlocals
['a', 'oldlocals', 'b', 'd', '__builtins__', '__file__', 'c', '__name__',
'readline', 'rlcompleter', '__doc__']
>>>
newly_defined=set(newlocals).difference(oldlocals).difference(set(('oldlocals',)))
>>> newly_defined
set(['a', 'c', 'b', 'd'])
>>> a,b,c,d
(1, 2, 3, 4)
>>> for var in newly_defined: del(locals()[var])
...
>>> a,b,c,d
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>>
2008/10/25 <michele a nectarine.it>
> Ciao,
> ad un certo punto del programma volevo eliminare tutti le variabili e
> gli oggetti creati, ad eccezione delle import che ho fatto; per cui ho
> agito così:
>
> for i in dir()[:]:
> del i
>
> Mi sembrava ragionevole e così l'ho fatto girare:
> >>> dir()
> ['__builtins__', '__doc__', '__name__', 'a', 'b', 'c', 'random']
> >>> for i in dir()[:]:
> ... del i
> ...
> >>> dir()
> ['__builtins__', '__doc__', '__name__', 'a', 'b', 'c', 'random']
> >>>
>
> Però non ha funzionato :-)
>
> Come posso eliminare, nel mio esempio, tutte le variabili create?
>
> Vi ringrazio.
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
--
http://alepisa.blogspot.com
Esalando Prassi
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20081025/84ea994c/attachment.htm
Maggiori informazioni sulla lista
Python