2009-10-14 6 views

risposta

8
sys.modules[MyCls.__module__].__file__ 

o

inspect.getsourcefile(MyCls) 

ci sono più __xxx__ attributes su vari oggetti che potreste trovare utile.

2

Il modulo inspect ha tutto ciò che serve.

2

Se si desidera solo vedere la fonte, inspect.getsource è un modo molto diretto per farlo; per usi più avanzati (ottenendo il codice sorgente , numeri di riga, ecc.), vedere altre funzioni in inspect documentate nello stesso URL poco prima di getsource. Nota che ognuna di queste funzioni solleverà un'eccezione se la sorgente non è disponibile, quindi assicurati di essere all'interno di un blocco try/except quando lo chiami e di gestire l'eccezione appropriata per il tuo caso. (Inoltre, come spero vada da sé, è necessario lo import inspect nei moduli in cui si desidera chiamare la funzionalità inspect).

Problemi correlati