Re: [Python-de] import und vollqalifizierter Dateiname
Christopher Arndt schrieb:
Am 24.08.2016 um 15:20 schrieb Hermann Riemann:
der das Problem [...]
Welches Problem?
Bei import geht kein vollqualifizierter Dateiname, der den Buchstabe / enthält. Python3 meint dazu Syntaxfehler. Hermann der in C statt import #include schreiben würde. -- www.hermann-riemann.de
Du solltest Dich mal grundlegend über Python Packages und den Import-Mechanismus von Python informieren. Man kann nicht einfach so ein Modul über einen absoluten Pfad importieren. Das Modul muß in sys.path oder via PYHONPATH erreichbar sein... -aj Am 24. August 2016 um 15:56 schrieb Hermann Riemann < nospam.compb7@hermann-riemann.de>:
Christopher Arndt schrieb:
Am 24.08.2016 um 15:20 schrieb Hermann Riemann:
der das Problem [...]
Welches Problem?
Bei import geht kein vollqualifizierter Dateiname, der den Buchstabe / enthält. Python3 meint dazu Syntaxfehler.
Hermann der in C statt import #include schreiben würde.
-- www.hermann-riemann.de _______________________________________________ python-de maillist - python-de@python.org https://mail.python.org/mailman/listinfo/python-de
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): 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.
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.
participants (4)
-
Andreas Jung
-
Christopher Arndt
-
Hermann Riemann
-
Peter Otten