Seite 1 von 1

Eigene Module und Pfad

Verfasst: Freitag 13. November 2015, 16:56
von nieselfriem
Hallo!

Ist eine sehr banale Frage aber ich habe bei google leidernichts Konrektes gefunden. Ich möchte gern mein Script auf mehrere Dateien auslagern

Code: Alles auswählen

|--module/inputs.py
|--module/outpus.py
|--main.py
wenn ich nun aber in der main.py als import

Code: Alles auswählen

import module/inputs
wird dieses dieses Modul nicht jedoch dann nicht gefunden. Wie muss ich denn dann die Pfadangabe noch der oberen Ordnerhierachie machen?

VG niesel

Re: Eignene Module und Pfad

Verfasst: Freitag 13. November 2015, 16:58
von __deets__
Das steht schon im Python-eigenen Tutorial ueber packages und Module: https://docs.python.org/2/tutorial/modules.html

Dir fehlt ein __init__.py in "module" (das eigentlich ein package ist), und ausserdem importiert man mit "import package.module", nicht mit slashes.

Re: Eignene Module und Pfad

Verfasst: Freitag 13. November 2015, 18:11
von bb1898
__deets__ hat geschrieben:Das steht schon im Python-eigenen Tutorial ueber packages und Module: https://docs.python.org/2/tutorial/modules.html
Wie siehst Du an der Frage, dass der OP Python 2 benutzt? Ich kann das dem Text auch bei mehrfachem Lesen nicht entnehmen.

Re: Eignene Module und Pfad

Verfasst: Freitag 13. November 2015, 18:22
von __deets__
bb1898 hat geschrieben: Wie siehst Du an der Frage, dass der OP Python 2 benutzt? Ich kann das dem Text auch bei mehrfachem Lesen nicht entnehmen.
Und das ist bezueglich dem Aufbau von Paketen, Modulen und Import-Anweisungen wie relevant genau? Insbesondere unter Beruecksichtigung des Kenntnisstandes des OP, der sicherlich nicht gleich morgen frueh sein erstes namespace package nach neuer Python 3.3 Bauart erstellen moechte?

Re: Eignene Module und Pfad

Verfasst: Freitag 13. November 2015, 18:25
von cofi
Das kann man nicht sehen. Es ist aber auch irrelevant, da Pakete unter Python3 genauso funktionieren und das Tutorial an der Stelle genauso aussieht.

Re: Eignene Module und Pfad

Verfasst: Samstag 14. November 2015, 17:44
von bb1898
__deets__ hat geschrieben:
bb1898 hat geschrieben: Wie siehst Du an der Frage, dass der OP Python 2 benutzt? Ich kann das dem Text auch bei mehrfachem Lesen nicht entnehmen.
Und das ist bezueglich dem Aufbau von Paketen, Modulen und Import-Anweisungen wie relevant genau? Insbesondere unter Beruecksichtigung des Kenntnisstandes des OP, der sicherlich nicht gleich morgen frueh sein erstes namespace package nach neuer Python 3.3 Bauart erstellen moechte?
Es mag in diesem Einzelfall egal sein. Aber ich würde nur noch in begründeten Ausnahmefällen auf die Dokumentation zu Python 2 verweisen. Insbesondere dann, wenn ich im Gegenüber eher einen Anfänger vermute, der keinen Haufen älterer Programme zu betreuen hat.

Re: Eignene Module und Pfad

Verfasst: Samstag 14. November 2015, 18:10
von BlackJack
@bb1898: Tja, andere sehen das anders. Ich verlinke auch Python 2 Dokumentation wenn nicht wirklich klar ist das Python 3 genutzt wird und es überhaupt einen Unterschied macht, weil das für mich in der Praxis die relevante Version ist. Mit Python 3 kann ich (noch) nichts anfangen. Und da bin ich nicht alleine.

Re: Eignene Module und Pfad

Verfasst: Sonntag 15. November 2015, 21:41
von bb1898
BlackJack hat geschrieben:@bb1898: Tja, andere sehen das anders. Ich verlinke auch Python 2 Dokumentation wenn nicht wirklich klar ist das Python 3 genutzt wird und es überhaupt einen Unterschied macht, weil das für mich in der Praxis die relevante Version ist. Mit Python 3 kann ich (noch) nichts anfangen. Und da bin ich nicht alleine.
Bei den begründeten Ausnahmefällen bzw. den Nicht-Anfängern, die viel zu betreuen haben, hatte ich pfeilgrad Dich im Kopf. Die Nutzung von Bibliotheken, die noch nicht umgestellt sind, habe ich unter den Tisch fallen lassen, ich weiß, dass es die noch gibt (leider: Dabo).

Aber das scheint mir eben genau nicht die Lage von Anfängern, die jetzt einsteigen.

Re: Eigene Module und Pfad

Verfasst: Sonntag 15. November 2015, 21:58
von BlackJack
@bb1898: Was kann ich denn dafür wenn die mit dem falschen anfangen. Python 3 ist zwar zäh, aber ob's letztendlich überlebt… :twisted: