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__)
.
派生脚本的路径
我正在开发一个 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__)
.