Ho diversi moduli in un unico pacchetto (una sorta di toolkit), che utilizzo nei miei progetti. La struttura si presenta così:Nascondere moduli esterni durante l'importazione di un modulo (ad esempio per quanto riguarda il completamento del codice)
the_toolkit:
__init__.py
basic_io.py
simple_math.py
matrix_kit.py
...
Ora quando uso IPython
o il completamento del codice in VIM
dopo l'importazione di un modulo dal pacchetto con
from the_toolkit import matrix_kit
ho un mucchio di moduli/funzioni che matrix_kit.py
importazioni (array
, math
, log
, loggin
, format_exc
, ecc.), Insieme alle funzioni effettive definite da matrix_kit
. Come posso escludere tutto il resto, dal momento che non sono interessato a math
o array
in un completamento del codice del modulo matrix_kit
?
Il __init__.py
è vuoto come suggerito da molti pythonistas, o è il modo di farlo?
Vedere http://stackoverflow.com/a/19757025/1834164 che spiega come '__all__ 'può essere utilizzato per nascondere i moduli anche in ipython. – user1834164