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

VS Code Python终端执行CS50 SQL代码异常:输出Found无输入提示

CS50第7周SQLite代码运行问题解决方案

一、直接执行脚本仅输出「Found」无输入提示

  • 确认运行目标脚本:检查终端执行命令中的文件名是否正确,避免同目录下同名旧脚本干扰输出。
  • 激活虚拟环境:执行代码前先激活venv,命令为 .\venv\Scripts\activate,确保使用venv内的CS50模块配置。
  • 重置终端:关闭当前VS Code终端,重新打开后再运行脚本,避免终端缓存残留导致异常输出。

二、移至tmp文件夹后SQLAlchemy URL解析错误

CS50的SQL类要求传入标准SQLite数据库URL,而非直接的本地文件路径。你需要给路径添加sqlite:///前缀:

修正后的数据库连接代码

# 保留原路径的转义反斜杠,添加sqlite:///前缀
db = SQL("sqlite:///C:\\Users\\wf user\\Desktop\\CODING\\CS50\\shows.db")

如果将shows.db也移至tmp文件夹,使用相对路径更简洁:

# 脚本与数据库文件同目录时的写法
db = SQL("sqlite:///shows.db")

额外优化建议

你的SQL语句使用LIKE ?时,当前只会匹配完全一致的标题。如果需要模糊匹配(比如包含输入关键词的标题),可以修改参数为带通配符的格式:

title = input("Title: ").strip()
rows = db.execute("SELECT COUNT(*) AS counter FROM shows WHERE title LIKE ?", f"%{title}%")

内容的提问来源于stack exchange,提问作者Kira Jeewoo Choi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:12:09