Eigene Module und Pfad

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
nieselfriem
User
Beiträge: 135
Registriert: Sonntag 13. Januar 2013, 16:00

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
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

__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.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das kann man nicht sehen. Es ist aber auch irrelevant, da Pakete unter Python3 genauso funktionieren und das Tutorial an der Stelle genauso aussieht.
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

__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.
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.
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

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.
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:
Antworten