Seite 1 von 1

Ausführungsort von Python Scripten

Verfasst: Samstag 16. Oktober 2010, 03:42
von PyByte
Ich habe ein Python Script das im selben Ordner wie das Script selbst einige Dateien zum lesen öffnet.
Wenn ich das Script selber starte mit einem Doppelklick funktioniert alles.

Aber wenn ich es von einem anderen Ordner über ein absoluten Pfad starte aus einem Programm heraus, bricht das Script mit der Fehlermeldung ab das es die zu lesenden Dateien nicht finden kann.
Ob mit os.popen() in Python oder auch über ein C Programm system() kommt der Fehler.
Das Script lässt sich einfach nicht von einem anderen Ort aus starten.

Was mache ich falsch? Ich nahm an das das Script in dem Ordner ausgeführt wird wo es sich auch befindet.
Wie kann ich es machen das es in seinem Ursprungsordner ausgeführt wird?

Re: Ausführungsort von Python Scripten

Verfasst: Samstag 16. Oktober 2010, 05:26
von snafu
Nenn mal den kompletten Pfad für dein Python und für das Skript, welches du ausführen willst. Zudem: Kopiere die Fehlermeldung und den Code, womit du das Skript starten willst.

Re: Ausführungsort von Python Scripten

Verfasst: Samstag 16. Oktober 2010, 10:42
von Dav1d
Du könntest auch ein:

Code: Alles auswählen

os.chdir(os.path.dirname(__file__))
probieren, auserdem vewende lieber das subprocess-Modul, anstelle von os.popen oder os.system

Re: Ausführungsort von Python Scripten

Verfasst: Samstag 16. Oktober 2010, 11:45
von BlackJack
@PyByte: Generell solltest Du Dein Programm so umschreiben, dass es von überall gestartet werden kann. Statt `os.chdir()` würde ich allerdings nicht das Arbeitsverzeichnis wechseln, sondern den Wert von `__file__` dazu benutzen aus den verwendeten relativen Pfadangaben absolute zu machen.

Re: Ausführungsort von Python Scripten

Verfasst: Samstag 16. Oktober 2010, 23:37
von PyByte
Danke, das hat mir geholfen.