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

Python调用自定义库sort函数未返回to_write触发NameError求助

错误原因

sort 函数内部定义的 to_write 属于函数局部变量,仅在 sort 函数内部可访问,主程序调用 sort 函数时没有接收其返回值,直接在 write 函数中传入未定义的 to_write 变量,因此触发 NameError。

修复方案
  1. 修改主程序中调用sort函数的代码行,接收返回的字典值:
# 原代码
sort(indexus,loaded_sql,sheet)
# 修改为
to_write = sort(indexus,loaded_sql,sheet)
  1. 可选优化:SQLite游标执行查询返回的迭代器仅可遍历一次,为避免后续复用为空的问题,建议修改查询行代码:
# 原代码
loaded_sql = cur.execute("SELECT * FROM {0}".format(cfg["DB_NAME"]))
# 修改为
loaded_sql = cur.execute("SELECT * FROM {0}".format(cfg["DB_NAME"])).fetchall()
  1. 可选规范优化:Libar2库中premade_table函数存在重复赋值代码listus = listus = [...],删除重复的赋值符即可,不影响正常运行。
验证

修改后运行代码,to_write变量会正常接收sort函数返回的字典类型值,传入write函数后即可正常执行插入逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:30:05