我有一个 Python 脚本,希望每周五下午 5 点运行。
我该如何实现?
我知道我可以通过 cron 来做到这一点。但是,由于我在 Python 脚本中使用了相对文件路径,因此必须与其他文件一起在特定目录中运行。我发现我可以使用管道运算符来实现这一点,但是我找不到示例。
答案1
有多种方法可以实现这一点,我仅列出两种方法:
(1)在您的 Cron Job 中使用 Bash“包装器 Shell 脚本”在下午 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
您可以在运行脚本之前直接进入该目录。
0 17 * * Fri cd /path/to/dir && python myscript.py
无需包装。