sys.path erweitern

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
studi
User
Beiträge: 25
Registriert: Montag 2. Juni 2008, 22:59

Guten Abend.

Ich habe paar Module auf USB, will diese, ohne zu kopieren, in Modulen verwenden die auf meiner Festplatte sind. Kann mir da jemand bitte helfen?
Mit

Code: Alles auswählen

import modul_x.py
sys.path.append("E:\\Industrie\\modul_x.py")
geht's nicht.
Wozu ist diese Funktion sys.path.append ueberhaupt da?

Danke.
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

Kurz gesagt: Mit sys.path.append erweiterst du die Liste der Pfade, in denen Python nach deinem Modul sucht. Wenn es denn funktionieren sollte, müßtest du die beiden Zeilen schon umdrehen.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Und du musst an sys.path das Verzeichnis anhaengen, in dem deine Module liegen, nicht das Module selbst.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Falls sich jemand wundert: Ich habe die Beiträge aufgesplittet.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
studi
User
Beiträge: 25
Registriert: Montag 2. Juni 2008, 22:59

Jo so geht's.

Code: Alles auswählen

sys.path.append("E:\\Industrie")
import modul_x
Danke fuer die Hilfe. :P
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich würde statt mit append besser mit insert arbeiten, damit dein Pfad als erstes kommt und nicht am Ende angehanden wird, also so:

Code: Alles auswählen

sys.path.insert(0, "E:\\Industrie")

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten