Python Crontab 无法读取 Sqlite3 表



我正在开发一个Python Twitter bot,它在Python编辑器和Raspberry Pi的终端中工作得很好,但是当我使用cron运行它时,我得到了一个错误。

crontab文件:

* * * * * /home/eric/code/quotebot/quotebot.py >> /home/eric/code/quotebot/logs/minute.log 2>&1

错误信息:

Traceback (most recent call last):
File "/home/eric/code/quotebot/quotebot.py", line 22, in <module>
cursor.execute("SELECT MIN(countoftweets) FROM quotebot")
sqlite3.OperationalError: no such table: quotebot

因为它在从终端和IDE运行时有效,我想知道是否有权限问题或其他我不知道的问题。表肯定存在,数据库也肯定存在。

如果这是您的本地用户crontab,那么当脚本运行时,当前目录将被设置为您的主目录/home/eric。你可能会做类似sqlite3.connect('quotebot.db')的事情。该文件不存在,sqlite3很乐意为您创建一个新的空数据库。

如果您需要在您的家之外的文件,您要么必须使用绝对路径,要么通过使用os.path.dirname(__file__)派生脚本的路径。

最新更新