我尝试通过 Python3 脚本在 CSV 文件中写入一些数据。如果我直接在 CMD 中运行它,它工作得很好,但如果我通过 cron (由 设定crontab -e
)运行它,它就不起作用。
现在我发现我需要该文件的直接路径(在我的代码中硬编码为常量字符串)。
但我的第一个方法让我感到困惑。我运行命令Path(os.getcwd()).joinpath('Data/test.csv')
并获得正确的路径/home/pi/Documents/Project/Data/test.csv
。但当我通过 cron 运行它时,路径是/home/pi/Data/test.csv
.
该项目位于/home/pi/Documents/Project/
.为什么Path(os.getcwd()).joinpath('Data/test.csv')
返回其他路径,而不是通过 cmd 直接调用?
如果我在 cron 和脚本的命令行调用中具有相同的行为,我可以改变什么?
编辑
这是我的 crontab 条目:
00 9,15 * * * python3 /home/pi/Documents/Projects/temperatureCheck/temperatureCheck.py
答案1
在 crontab 命令前面加上以下前缀:
cd /home/pi/Documents/Project && ...