特定のディレクトリで Python スクリプトを自動的に実行するにはどうすればよいですか?

特定のディレクトリで Python スクリプトを自動的に実行するにはどうすればよいですか?

毎週金曜日の午後 5 時に実行したい Python スクリプトがあります。
どうすれば実現できますか?

cron を使ってこれを行うことができることは理解しています。ただし、Python スクリプトでは相対ファイル パスを使用しているため、他のファイルとともに特定のディレクトリで実行する必要があります。パイプ演算子を使用してこれを実現できる可能性があることを確認しましたが、例を見つけることができませんでした。

答え1

これを実現するにはさまざまな方法がありますが、ここでは 2 つの方法を挙げます。

(1) Cron ジョブで Bash の「ラッパー シェル スクリプト」を使用して、午後 5 時に実行します。
「ラッパー スクリプト」で、まず「cd X」を実行します。ここで、X は必要なディレクトリです。
次に、Python スクリプトを実行します。これはディレクトリ X で実行されます。

# My Bash Wrapper Script  
cd X # use the necessary Directory here  
python MyPythonScript.py  

(2)Pythonスクリプトでモジュール「os」をインポートし、「os.chdir」を使用してディレクトリを変更し、Pythonスクリプトを続行します。

# My Python Script  
import os  
os.chdir(X) # use necessary Directory here  
# continue with Python Script  
# no other Changes necessary  

これら 2 つの方法は非常に簡単に使用できます。

答え2

スクリプトを実行する前に、ディレクトリに cd するだけです。

0 17 * * Fri cd /path/to/dir && python myscript.py

ラッパーは必要ありません。

関連情報