You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本打开scrapy_quotes.db返回空,终端正常访问问题排查

问题原因及解决方法

最常见原因:工作目录不匹配

你在终端用sqlite3 scrapy_quotes.db打开的是当前终端所在目录下的数据库文件,但Python脚本运行时的工作目录可能和终端不同——这会导致SQLAlchemy连接的是一个新创建的空数据库,自然返回空表列表。

解决方式:

  • 使用绝对路径指定数据库文件,示例代码:
    from sqlalchemy import create_engine
    from sqlalchemy.inspect import inspect
    
    # 替换为你的scrapy_quotes.db实际绝对路径
    engine = create_engine('sqlite:////path/to/your/scrapy_quotes.db')
    insp = inspect(engine)
    print(insp.get_table_names())
    
  • 或者先确认脚本运行的当前工作目录,确保数据库文件在该目录下:
    import os
    print(os.getcwd()) # 输出脚本运行时的当前目录
    

显式指定SQLite主schema

少数情况下,SQLAlchemy的inspect工具默认可能未查询SQLite的main schema(SQLite默认表都在这个schema下),可以尝试显式指定schema参数:

print(insp.get_table_names(schema='main'))

版本兼容问题

如果使用的SQLAlchemy版本较旧,可能存在SQLite表检测的兼容问题,尝试升级到最新版本:

pip install --upgrade sqlalchemy

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 06:45:59