如何使用 crontab 在文件夹中安排 Python 脚本

如何使用 crontab 在文件夹中安排 Python 脚本

我有一些 Python 脚本保存在名为"Documents/downloadFundamentals"

我有以下 bash 脚本:

/home/john/.virtualenvs/investFundamentals/bin/python scrapStockList.py
/home/john/.virtualenvs/investFundamentals/bin/python downloadHistoricalData.py
/home/john/.virtualenvs/investFundamentals/bin/python updateHistoricalData.py
/home/john/.virtualenvs/investFundamentals/bin/python insertDocsToCollection.py
/home/john/.virtualenvs/investFundamentals/bin/python filterStocks.py
/home/john/.virtualenvs/investFundamentals/bin/python getCurrentPortfolio.py
/home/john/.virtualenvs/investFundamentals/bin/python accountSummary.py

crontab 任务似乎正在运行,但没有输出。

我需要在 each.py​​ 之前添加目录吗?

答案1

简短的回答 - 是的,你要么

/home/john/.virtualenvs/investFundamentals/bin/python /path/to/script/scrapStockList.py

或者使用 #!/usr/bin/env python并使每个文件可执行chmod +x /path/to/scrapStockList.py。使用virtualenv表明您可能正在运行系统默认版本以外的 Python 版本,因此第一个选项可能更适合您的情况。

去引用Gilles 的相关文章

Cron 的默认路径取决于具体实现,因此请检查手册页

当您调用 时python script.py,解释器会在当前工作目录中查找script.py。因此,您的命令会失败,因为问题中的 Python 解释器从工作目录启动,而该目录不是您的脚本所在的位置。

相关内容