premessa su ipython credo che per imparare sia di grandissimo aiuto ipython con una shell interattiva che però ha anche completamento, completa rispetto ai metodi, ha un sacco di funzioni che ti permetto di *capire* la struttura di python, non ho mai usato windows, ma credo che ci sia anche per windows. No kidding: provalo!
problema import reload credo che l'errore di fondo che stai facendo sia di non cogliere la differenza fra script e modulo. Entrambe hanno la loro ragion d'essere ma non devono essere confusi. Spesso poi dentro un modulo si mette una parte che dice sostanzialmente questo (se mi stai eseguendo come script fai lancia questo comando (if __name__ = '__main__'...) Se importi un modulo stai dicendo al tuo programma "impara delle definizioni da li" è vero che queste definizioni sono codice python e che quindi possono anche eseguire "cose" ma la logica è che debbono solo inizializzare una situazione e rendere disponibili delle funzioni/classi. Il comando reload serve per fare rileggere il modulo, ma ha senso se il modulo è cambiato da prima. Quello che tu vuoi fare credi sia di creare delle funzioni e poi eseguirle, esempio: miomodulo.py def somma(): print 1 + 1 ora da ipython: In [1]: import miomodulo In [2]: miomodulo.somma() 2 problema di import anche io ci ho messo un po' a capire come funziona (e c'è ancora qualche costrutto che non mi è chiarissimo: getattr(__import__...)), ma le cose fondamentali mi pare che siano: 1. puoi importare oggetti differenti: pacchetti, moduli, funzioni/classi/variabili 2. l'importazione comporta che l'oggetto importato è ora disponibile nello "scopo" corrente, ovvero è visibile (ed usabile). A seconda di come è stato importato puoi dovere usare un nome od un altro per referenziarlo: import datetime natale = datetime.date(2006,12,25) from datetime import date natale = date(2006,12,25) oppure from datetime import date as miadata natale = miadata(2006,12,25) 3. import sqlkit.db import il modulo db del pacchetto sqlkit (ecco perché 'import modulo.py' ti falliva!) L'estenzion .py non va messa nell'import se usi ipython dopo che che hai fatto un import puoi vedere cosa è diventato disponibile: In [5]: datetime.--Tabulazione-- datetime.__class__ datetime.MINYEAR datetime.date datetime.__name__ datetime.datetime datetime.__new__ datetime.datetime_CAPI datetime.__reduce__ datetime.__delattr__ datetime.__reduce_ex__ datetime.__dict__ datetime.__repr__ datetime.__doc__ datetime.__setattr__ datetime.__file__ datetime.__str__ datetime.__getattribute__ datetime.time datetime.__hash__ datetime.timedelta datetime.__init__ datetime.tzinfo datetime.MAXYEAR 4. from xyz import mno può significare a. dal pacchetto xyz importa il modulo mno b. dal modulo xyz importa la funzione mno c. altro? c'è molto di più su import ma non vorrei farti fare indigestione... bonne courage! sandro *:-) -- Sandro Dentella *:-) http://www.tksql.org TkSQL Home page - My GPL work _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python