[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