.
├── brother.py
└── main.py
brother.py
def hi():
print("Hi! I'm your brother.")
main.py
import brother
brother.hi()
.
├── children
│ └── tom.py
└── main.py
tom.py
def hi():
print("Hi! I'm Tom.")
** Bon exemple 1 **:
main.py
from children import tom
tom.hi()
** Bon exemple 2 **:
main.py
import children.tom
children.tom.hi()
** Mauvais exemple **: → Besoin d'être emballé (voir ci-dessous)
main.py
import children
children.tom.hi() # >> AttributeError: module 'children' has no attribute 'tom'
Créez «__init __. Py» et traitez ce répertoire comme un package. Dans __init __. Py
, chargez le module contenu dans le même répertoire ici.
.
├── children
│ ├── __init__.py
│ ├── sushi.py
│ └── tom.py
└── main.py
sushi.py
def hi():
print("Hi! I'm Sushi.")
** Bon exemple **:
Dans le module, utilisez .
pour spécifier le module à lire avec un chemin relatif. (Note de publication officielle, [Référence](http://stackoverflow.com/questions/22942650/relative-import-from- init-py-file-throws-error)))
__init__.py
from . import tom
from . import sushi
main.py
import children
children.sushi.hi()
** △ exemple **: Vous pouvez également faire ceci
__init__.py
from .tom import hi as tom_hi
from .sushi import hi as sushi_hi
main.py
from children import *
sushi_hi()
** Mauvais exemple **
__init__.py
import tom # >> ImportError: No module named 'tom'
import sushi
S'il est gênant d'ajouter un module à chaque fois, reportez-vous à here et lisez tous les fichiers dans le même répertoire.
Recommended Posts