2012-09-16 19 views
7

C'è uno script nella directory di lavoro, che io possa accedere con:da. import * dal modulo

from . import core.py 

Vorrei anche importare * da core.py. Come scriverei questo in Python?

+2

Hai provato da. import core.py. *? – Borgleader

+6

Sei proprio sicuro? 'da ... import *' non è mai una buona idea, e il poco tempo che pensi di salvare verrà e ti morderà dopo ... –

risposta

10

Sono abbastanza sicuro che è solo:

from core import * 

Supponendo core.py è nella vostra directory di lavoro corrente o in cui lo script è in esecuzione da.

+0

Beh, mi sento imbarazzato :(Non pensavo che avrebbe funzionato –

+0

il meglio di noi :) – mjgpy3

+4

effettivamente 'da .core import *'. Se sei su python 3 è importante – JBernardo

7

Per mantenere l'esatto stessa semantica come from . import core, si vorrà fare:

from .core import * 
+1

Qual è il vantaggio di fare questa sintassi specifica, con il punto prima della parola? È necessario forzare l'importazione da 'core.py' nella directory corrente (ad esempio, forse c'è un altro modulo' core')? Pensavo che python cercasse e importasse sempre dalla directory corrente prima, no? – Nate

8

vedere https://docs.python.org/2/tutorial/modules.html

Nella sezione 6.4.2. Intra-package References:

  • Se il modulo di importazione nella stessa dir, utilizzare ad esempio: from . import core
  • Se il modulo di importazione nella parte superiore dir, usa per esempio: from .. import core
  • Se il modulo di importazione in un altro sottodirectory, utilizzare per esempio: from ..other import core
Problemi correlati