![如何自动运行特定目录中的python脚本?](https://linux22.com/image/785439/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E8%BF%90%E8%A1%8C%E7%89%B9%E5%AE%9A%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84python%E8%84%9A%E6%9C%AC%EF%BC%9F.png)
我有一个 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
无需包装。