Nella gerarchia sottostante, esiste un modo comodo e universale per fare riferimento al pacchetto top_pagina usando un termine generico in tutto il file .py sotto? Mi piacerebbe avere un modo coerente per importare altri moduli, in modo che anche quando il "top_package" cambia nome, non si rompe nulla.Come fare riferimento al modulo di primo livello in Python all'interno di un pacchetto?
Non sono favorevole all'uso dell'importazione relativa come "..level_one_a" in quanto il percorso relativo sarà diverso da ciascun file python di seguito. Sto cercando un modo:
- Ogni file python può avere la stessa istruzione di importazione per lo stesso modulo nel pacchetto.
Un riferimento di disaccoppiamento a "top_package" in qualsiasi file .py all'interno del pacchetto, quindi qualsiasi nome "top_package" cambierà, non si interrompe nulla.
top_package/ __init__.py level_one_a/ __init__.py my_lib.py level_two/ __init__.py hello_world.py level_one_b/ __init__.py my_lib.py main.py
Perché vuoi un riferimento al modulo di livello superiore? (A volte questa risposta rivela il vero problema/soluzione.) –
Voglio rendere il pacchetto il più possibile riutilizzabile, in modo che quando rinominare il modulo principale, tutto funzioni ancora normalmente senza dover cambiare ciascuno il nome di importazione all'interno. – hllau