【发布时间】:2020-07-09 10:15:16
【问题描述】:
我想每天晚上 12:00 运行一个 Python 脚本来清理一个 csv 文件,该文件在白天由另一个脚本自动填充。
我的 csv 文件 code_list.csv 内容在一天结束时看起来像这样:
87698
63753
19742
89876
62765
79832
# etc.
我使用truncate 方法通过此脚本csvclean.py 清理 csv 文件:
import csv
filename = "/root/folder/code_list.csv"
f = open(filename, "w")
f.truncate()
f.close()
这是我的 crontab:
SHELL=/bin/bash
0 0 * * * cd /root/folder && /usr/bin/python3 ./csvclean.py
这两个文件都位于同一文件夹/root/folder。
我可以在/var/log/syslog 中看到 cron 在预定时间运行,但在我的 code_list.csv 文件中没有发生任何事情。如果我直接使用python3 csvclean.py 运行脚本,它会完美地清理 csv 文件。
我忘记了什么?
- 编辑-
我使用了此处找到的方法来检索日志。 我像这样编辑了我的 crontab:
*/1 * * * * cd /root/folder && /usr/bin/python3 ./csvclean.py > /root/folder/csvclean.log 2>&1
我在 csvclean.py 脚本的开头添加了这一行:
print 'starting'
我在 cron 之后打开了 csvclean.log 文件,我看到了:
/usr/bin/python3: can't open file './csvclean.py': [Errno 2] No such file or directory
这让我意识到我的 Python 脚本文件名是 cleancsv.py 而不是 csvclean.py。
就在我的眼皮底下……
【问题讨论】: