Christopher Arndt wrote:
Am 24.08.2016 um 15:56 schrieb Hermann Riemann:
Bei import geht kein vollqualifizierter Dateiname, der den Buchstabe / enthält.
https://docs.python.org/3/tutorial/modules.html https://docs.python.org/3/reference/import.html
Merke: Python ist nicht C und ein Python-Modul keine Header-Datei. ;)
So geht's (Voraussetzung: alle Verzeichnisse enthalten ein '__init__.py' Datei):
Obwohl es nicht so recht zu "Explicit is better than implicit" passt: in Python 3 ist ist die __init__.py nicht unbedingt erforderlich: $ python3 -c 'import a.b.c.p1' Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'a' $ mkdir -p a/b/c/ $ echo 'print("hello from p1")' > a/b/c/p1.py $ python3 -c 'import a.b.c.p1' hello from p1 Siehe auch https://www.python.org/dev/peps/pep-0420/
import a.b.c.p1 import u.v.w.p2 import u.v.w.p3 import x.y.z.p2 import x.y.z.p3
a.b.c.p1.foo() u.v.w.p2.foo() u.v.w.p2.bar()
usw.
Oder so:
from .a.b.c import p from .u.v.w import p as p2
usw.