Python Crontab 无法读取 Sqlite3 Table

Python Crontab Can't Read Sqlite3 Table

我正在开发一个 Python Twitter 机器人,它在 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

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

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

如果您需要外出的文件,您要么必须使用绝对路径,要么使用 os.path.dirname(__file__).

派生脚本的路径