[Python] Come fareste voi?

Leonardo M. Millefiori mystixx22 a gmail.com
Ven 19 Feb 2010 12:05:36 CET


Il 19/02/2010 11:59, Stefano Dal Pra ha scritto:
> Grazie mille!
> 
> Oso rilanciare, visto che mi avete risolto il problema in 2 min.
> 
> Se uno facesse invece:
> 
> from test import x,y,z
> 
> si potrebbe fare lo stesso?
> 
> ( il reload mi va benissimo, per carita', ma se sapete qualcosa anche
> per questo caso...)
> 
> Ciao
> Stefano
> 
> 2010/2/19 Simone Federici <s.federici a gmail.com>:
>> import test
>> ...
>> ...
>> ...
>> reload(test)
>>
>>
>>
>>
>> Simone Federici
>> -----------------------------------
>> Software Architect
>>
>>
>>
>> 2010/2/19 Stefano Dal Pra <s.dalpra a gmail.com>
>>>
>>> Ciao a tutti,
>>> vorrei chiedervi se conoscete un modo per snellire un aspetto tedioso
>>> nello [mio modo di] sviluppare in python.
>>>
>>> Spesso, soprattutto nelle fasi iniziali di stesura del codice, uso un
>>> editor di testo (emacs o altro)
>>> e tengo aperto un interprete python. Con l'editor definisco la mia
>>> brava classina "testclass" in un file (p. es: test.py )
>>> e un paio di metodini che poi provo al volo per vedere se sono
>>> corretti. Per esempio:
>>>
>>>
>>> sdp a lapdp:~/py$ python
>>> Python 2.5.5 (r255:77872, Feb  1 2010, 19:53:42)
>>> [GCC 4.4.3] on linux2
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import test
>>>>>> p=test.testclass('testfile.conf')
>>>>>> p.setRFK('teststring')
>>>>>>
>>>
>>> In questo caso tutto ok. Il codice ha funzionato.
>>>
>>> Quel che accade normalmente, pero', e' che ci sia un bug nel metodino
>>> nuovo appena scritto e l'interprete sollevi la
>>> sua brava eccezione dettagliando il problema.
>>> Leggo, correggo e salvo, poi riprovo.
>>>
>>> Per riprovare pero', non basta un semplice:
>>>
>>> del test
>>> import test
>>> eccetera.
>>>
>>> Facendo questo mi ritorna la vecchia incarnazione della classe, cioe'
>>> python ignora bellamente
>>> il fatto che il file sia cambiato e l'aver dato
>>> del test
>>> non ha veramente cancellato dalla memoria dell'interprete la sua
>>> esistenza.
>>>
>>> Devo invece uscire da python, rientrare, ripetere i passi daccapo.
>>>
>>> La mia domanda quindi e' se posso forzare python a rileggere il file
>>> senza dover uscire e rientrare da python?
>>> In altre parole: esiste un modo piu' "brutale" di del <qualcosa> ?
>>>
>>> Grazie per i vostri benevoli pareri...
>>>
>>> Stefano
>>> _______________________________________________
>>> Python mailing list
>>> Python a lists.python.it
>>> http://lists.python.it/mailman/listinfo/python
>>
>>
>> _______________________________________________
>> Python mailing list
>> Python a lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python

Non funzionerebbe ugualmente perché ogni modulo può essere importato una
sola volta; un secondo import dello stesso modulo verrebbe semplicemente
ignorato.

Comunque, per python 3.x è necessario però importare la funzione reload
dal modulo imp:
	
	from imp import reload

Mi permetto di precisarlo perché mi è già capitato di sbatterci la
testa. Magari a qualcuno sarà utile...

Leonardo M. Millefiori


Maggiori informazioni sulla lista Python