2011-09-14 15 views
5

In uno dei miei pacchetti di Python il file contenente l'istruzione __init__.pyda. importazione XXXX

from . import XXXX 

Che cosa significa il "" significa qui? Ho ottenuto questa tecnica guardando un altro pacchetto, ma non capisco cosa significhi.

Grazie!

risposta

5
+1

Duh, certo che lo è. Grazie per avermi indicato il nome corretto della funzione. – jlconlin

+0

Sebbene questo possa teoricamente rispondere alla domanda, [sarebbe preferibile] (// meta.stackoverflow.com/q/8259) per includere qui le parti essenziali della risposta e fornire il link per riferimento. – Barmar

10

suo parente di importazione. Da: http://docs.python.org/py3k/reference/simple_stmts.html#the-import-statement

Quando si specifica quale modulo di importare non è necessario specificare il nome assoluto del modulo. Quando un modulo o pacchetto è contenuto all'interno di un altro pacchetto è possibile effettuare un'importazione relativo all'interno stesso pacchetto superiore senza dover menzionare il nome del pacchetto. Con utilizzando punti principali nel modulo specificato o il pacchetto dopo da voi possibile specificare come alto per attraversare la gerarchia attuale pacchetto senza specificare nomi esatti.

Un punto che porta significa l'attuale pacchetto in cui è presente il modulo facendo l'importazione. Due punti significa fino a un livello di pacchetto. Tre punti sono di due livelli, ecc Quindi, se si esegue from . import mod da un modulo nel pacchetto pkg allora si finirà fino importazione pkg.mod. Se esegui da ..subpkg2 import mod da all'interno di pkg.subpkg1 importerai pkg.subpkg2.mod. La specifica per le importazioni relative è contenuta in PEP 328.

Problemi correlati