(python) Programm im Verzeichnis ausführen

Columbo0815

Kaffeemann
Teammitglied
Moin,

ich habe ein (python) Programm, das in /home/foobar/bin/programm/programm.py liegt. Wenn ich in diesem Verzeichnis bin und "python programm.py" starte funktioniert alles wie gewünscht. Da ich das Programm jedoch über crontab (@reboot /usr/local/bin/pyhton /home/foobar/bin/programm/programm.py) starten möchte, muss der Aufruf auch funktionieren, wenn ich es von einem anderen Verzeichnis aus starte. Tut es aber nicht.

Ich habe mir nun ein kleines Script geschrieben, das zuerst in das Verzeichnis wechselt und das Programm dann von dort aufruft, was funktioniert (auch über crontab). Das finde ich aber hässlich und würde es gerne eleganter lösen. Wie kann ich dem Aufruf mitgeben, dass das Programm "in dem Verzeichnis ausgeführt werden soll, in dem es liegt"?

Für Tipps bin ich dankbar. :)
 
Kannst du nicht im Python-Skript selbst das Verzeichnis wechseln?
Nur ungerne, da es nicht mein Programm ist und ich bei jedem Update das Skript wieder anpassen müsste. Vermutlich wäre es aber dort tatsächlich am besten aufgehoben, weshalb ich mal den Entwickler fragen werde. :)
Also, hier ist der Interpreter falsch geschrieben. Wenn du ein Arbeitsverzeichnis vorgeben willst, dann einfach cd vorher nutzen:
Code:
@reboot cd /home/foobar/bin/programm && /usr/local/bin/python programm.py
Funktioniert. Vielen Dank!
 
Zurück
Oben