Wie erstelle ich ein eigenes modul?

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.
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Du kannst den Pfad, in der die neuen Module
liegen einfach hinzufügen und danach die besagten importieren.

Code: Alles auswählen

sys.path.append(PFAD)
import modul_aus_pfad
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Das Verzeichnis zu sys.path hinzufügen
Thanatos83
User
Beiträge: 12
Registriert: Dienstag 9. Mai 2006, 18:56

Das funktionert zwar, ist aber noch keine perfekte lösung. Gibt es denn keine möglichkeit den Pfad des Scriptes per Befehl rauszufinden?
Oder vielleicht relative Pfadangaben?

Es geht darum, dass ich das Script weitergeben will/muss, und es dann ohne umstellung auch vom anderen Rechner aus funktioniert.
Cu Thanatos83

Rettet die Wälder, esst mehr Biber!!!
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Thanatos83 hat geschrieben:Gibt es denn keine möglichkeit den Pfad des Scriptes per Befehl rauszufinden?
Gibt es:

Code: Alles auswählen

import os
print "Ich liege in", os.path.dirname(os.path.abspath(__file__))
Aber auch Blenderskripte werden in ein bestimmtes Verzeichnis gepackt, und das ist auch im sys.path drin, IIRC
Pythonaya
User
Beiträge: 90
Registriert: Sonntag 26. Januar 2003, 11:34
Wohnort: Großbeeren (nahe Berlin)

Also ich weiß ja, wie sehr ihr alle das Diskutieren um dieses Thema liebt und ich möchte euch auch nicht den Spaß verderben, aber vielleicht ist es sinnvoller sich vor dem Schreiben des Moduls einige Fragen zu stellen:

1. Was muss mein Modul leisten?
2. Ist es notwendig? Gibt es vielleicht schon andere Lösungen?
3. Wie bekomme ich es übersichtlich und strukturiert hingeschrieben?
4. ...

Ich habe ganz ehrlich gesagt Bauchweh, wenn in deiner einen Datei nur importiert wird. Ging es dir nur um die Theorie des Importierens/ Moduls oder wolltest du nur damit spielen?

Ich persönlich finde es viel angenehmer, wenn du in deiner "Hauptdatei" ruhig oben die Importierungen stehen hast.
Vorteil ist, dass du auf einen Blick siehst, was du importierst und wie usw.
Es erspart dir beim Fehler suchen zusätzlich enorm Zeit, weil du nicht immer die "Importierdatei" neben dein Programm legen musst...

Aber vielleicht sind das ja auch nur meine Auffassungen...
Also: Programmiert sauba Jungs (+Rebecca) ;-)
Thanatos83
User
Beiträge: 12
Registriert: Dienstag 9. Mai 2006, 18:56

Naja, ich muss halt für einen Lehrstuhl an der TU München mehrere Kettenteile implementieren, und die Implementierung von einem Kettenteil-typ benötigt schon mehere seiten. Deshalb wollte ich untergliedern in mehrere Module, aber das kann ich wahrscheinlich eh knicken, weil ich festgestellt habe, dass Module alleine nicht ausreichen.
Mir würde viel mehr helfen, wie ich ein weiteres Script einfach aus einem Script aufrufen kann. dann hätte ich keine Probleme mit import-anweisungen und globalen variablen.
Cu Thanatos83

Rettet die Wälder, esst mehr Biber!!!
Antworten