用 AI 整理失物候选配对:每条看着都像,也要检查是否占了同一件 整理失物登记时,AI可以快速比较颜色、形状和配件,却不该把一句“很像”直接变成认领结论。几个描述可能同时指向同一件物品。先整理候选,再检查一对一关系,才能把冲突和歧义留给负责人处理。 yunqueblog/ AI分享/ 2026-10-02/ 3 阅读
让 AI 重排双栏识别稿:每个字都认对,段落仍可能读错顺序 扫描页转成文字后,有时每一句都能读懂,连起来却突然换了话题。问题可能出在阅读顺序:识别结果把左右两栏按同一高度交错拼接。AI可以协助重排,但需要块的位置和版面规则,不能只靠语言通顺来猜。 yunqueblog/ AI分享/ 2026-10-02/ 3 阅读
让 AI 分析未收齐的问卷:回复者满意,不等于所有人都满意 一份问卷收回以后,AI很容易写出流畅的总结。但“回复的人有多少满意”和“所有受邀者有多少满意”是两个问题。先把没有收到答案的人留在表里,才能判断结论到底能说到哪里。 yunqueblog/ AI分享/ 2026-10-02/ 3 阅读
SQLite FILTER 条件聚合:合格数量为零的组,怎样仍然留在结果里 报表要显示零,筛选却删掉了整组按区域统计任务时,常常需要同时看到总任务数、成功数和有数值的成功记录数。如果把 status=ok 写进 WHERE,失败记录会先从输入里消失。一个区域若没有成功任务,连区域名称也不会出... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Python ExitStack 动态清理:第三个资源打开失败,前两个怎样按倒序释放 资源数量运行时才知道一个任务要按清单打开多个输入文件,再创建输出通道。清单长短不固定,第三次获取还可能失败。如果先把所有资源放进列表,最后才安排关闭,中途异常可能让前面已经成功打开的资源无人管理。ExitStack ... yunqueblog/ 技术教程/ 2026-10-02/ 4 阅读
Python takewhile 的边界元素:前半段读完后,第一条正文为什么不见了 分隔位置已经被读取了一次文本开头是注释,后面才是正文,用 takewhile 取出连续注释很自然。可如果随后继续遍历同一个输入迭代器,正文第一行可能已经丢失。判断一行“不再属于注释”必须先取到这一行;takewhil... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Python iter 双参数读块:文件已经到末尾,循环为什么还不停 末尾读不到数据,不代表循环知道该停把文本文件处理脚本改成二进制模式后,有时文件明明已经读完,循环却不断收到空数据。读块函数没有失灵,真正的问题可能是停止标记仍写成了空字符串。双参数 iter 会把每次调用的返回值与哨... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
SQLite json_object 的值参数:内容像数组,为什么最终变成了字符串 参数绑定保住了文本,却未决定结构准备接口响应时,把已有数组文本传给 json_object,结果可能是 items 字段里套着一段带方括号的字符串。原始字符都在,JSON 也合法,但下游需要的是数组,类型已经不对。这... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Python product 的输入池:只取一个组合,为什么源数据已经全部读完 把读取输入和产生组合分开看组合参数时,itertools.product 很方便:颜色、尺寸与材质各给一组值,就能依次得到所有搭配。由于返回结果是迭代器,很容易以为只调用一次 next,就只会从每个输入取出一项。实际... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Python 异常链:from None 隐藏了旧报错,为什么上下文对象还在 错误对象与报错展示分别检查底层读配置失败,外层把它包装成更容易理解的错误,是常见做法。问题在于,普通 raise、raise from 原异常和 raise from None 并不只是报错文字不同。它们会改变异常链... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读