社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python Crontab无法读取Sqlite3表

Eric • 3 年前 • 1398 次点击  

我正在开发一个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

因为它在从终端和IDE运行时工作,所以我想知道是权限问题还是其他我不知道的问题。表肯定存在,数据库肯定存在。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133622
文章 [ 2 ]  |  最新文章 3 年前
Eric
Reply   •   1 楼
Eric    3 年前

我一直在黑客攻击它,发现有人有类似的问题,它是 answered here .

我必须从以下位置更改数据库文件的路径: 路径db to/directory/directory/path。分贝

现在成功了!

Tim Roberts
Reply   •   2 楼
Tim Roberts    3 年前

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

如果您需要家庭以外的文件,则必须使用绝对路径,或者使用 os.path.dirname(__file__) .