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?
Ausführungsort von Python Scripten
Du könntest auch ein: probieren, auserdem vewende lieber das subprocess-Modul, anstelle von os.popen oder os.system
Code: Alles auswählen
os.chdir(os.path.dirname(__file__))
the more they change the more they stay the same
@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.