
Ich habe ein Python-Skript, das ich jeden Freitag um 17 Uhr ausführen möchte.
Wie kann ich das erreichen?
Ich verstehe, dass ich dies über Cron tun könnte. Da ich jedoch im Python-Skript relative Dateipfade verwendet habe, muss es in dem spezifischen Verzeichnis mit den anderen Dateien ausgeführt werden. Ich habe gesehen, dass ich dies möglicherweise mit dem Pipe-Operator erreichen kann, konnte jedoch kein Beispiel finden.
Antwort1
Es gibt verschiedene Möglichkeiten, dies zu erreichen. Ich werde nur zwei Möglichkeiten auflisten:
(1) Verwenden Sie in Ihrem Cron-Job ein Bash-„Wrapper-Shell-Skript“, um es um 17:00 Uhr auszuführen. Führen Sie
im „Wrapper-Skript“ zuerst „cd X“ aus, wobei X das erforderliche Verzeichnis ist.
Führen Sie dann das Python-Skript aus. Es wird im Verzeichnis X ausgeführt.
# My Bash Wrapper Script
cd X # use the necessary Directory here
python MyPythonScript.py
(2) Importieren Sie in Ihrem Python-Skript das Modul „os“ und verwenden Sie „os.chdir“, um das Verzeichnis zu ändern. Fahren Sie dann mit dem Python-Skript fort.
# My Python Script
import os
os.chdir(X) # use necessary Directory here
# continue with Python Script
# no other Changes necessary
Diese beiden Möglichkeiten sind sehr einfach zu verwenden.
Antwort2
Sie können vor dem Ausführen des Skripts einfach in das Verzeichnis wechseln.
0 17 * * Fri cd /path/to/dir && python myscript.py
Keine Hülle erforderlich.