云鹊BLOG云鹊BLOG云鹊BLOG
  • 首页

云鹊BLOG云鹊BLOG云鹊BLOG

当前位置:首页技术教程
Python file_digest 的输入分支:同样读过两字节,为什么 BytesIO 与文件摘要不同

最新Python file_digest 的输入分支:同样读过两字节,为什么 BytesIO 与文件摘要不同

单元测试用BytesIO代替文件,先读掉一个头部,再调用file_digest。测试算出了全体字节的摘要,换成真实文件后却得到剩余尾部摘要。两者都接受二进制文件对象,但在本文运行版本里走了不同实现分支。这个反例提醒我...

yunqueblogyunqueblog/ 技术教程/ 2026-10-04/ 2 阅读
Python partition 与 rpartition:找不到分隔符,原文究竟放在哪一格

最新Python partition 与 rpartition:找不到分隔符,原文究竟放在哪一格

解析一行简单的key=value时,partition能直接返回三项,看起来比split方便。但将它改成rpartition以后,没有等号的输入却从左侧字段移动到了右侧字段。如果调用代码只读取固定位置,不检查中间项,...

yunqueblogyunqueblog/ 技术教程/ 2026-10-04/ 3 阅读
Python Decimal.normalize:只是想删尾零,为什么有效数字也被改了

最新Python Decimal.normalize:只是想删尾零,为什么有效数字也被改了

为了把123.4500展示成123.45,调用normalize看起来很自然。但在精度为四的上下文中,它会返回123.4。两个尾零确实不见了,更重要的一位有效数字也变了。normalize不是一个只修剪字符串外观的工...

yunqueblogyunqueblog/ 技术教程/ 2026-10-04/ 2 阅读
Python itertools.compress:选择器已经用完,为什么源数据又被取走一项

最新Python itertools.compress:选择器已经用完,为什么源数据又被取走一项

有一条数据流和一串选择标记,compress可以按标记筛出需要的元素。但选择器只有两项时,数据流结束过滤后却可能已经走过第三项。若后面还要继续消费同一个迭代器,这个差异就会造成一条记录看似凭空消失。过滤结果只描述哪些...

yunqueblogyunqueblog/ 技术教程/ 2026-10-04/ 2 阅读
SQLite INSERT OR IGNORE:非法记录被跳过,为什么外键错误仍会中断

SQLite INSERT OR IGNORE:非法记录被跳过,为什么外键错误仍会中断

把INSERT改成INSERT OR IGNORE以后,重复键、不合格数量和缺失字段似乎都被安静跳过,于是有人把它当成“尽量导入,遇到什么都继续”。一旦出现外键错误,这个预期就会失效,而且同一条多行INSERT里较早...

yunqueblogyunqueblog/ 技术教程/ 2026-10-03/ 4 阅读
SQLite 复合外键:其中一列为空,为什么剩下一列不再检查匹配

SQLite 复合外键:其中一列为空,为什么剩下一列不再检查匹配

一条记录用租户和编号共同指向父表,租户写成不存在的值,编号却为空,插入竟然成功。若只检查PRAGMA foreign_keys已经打开,很容易把它当成SQLite漏验。真正原因是复合外键对NULL有明确规则:任意一个...

yunqueblogyunqueblog/ 技术教程/ 2026-10-03/ 4 阅读
SQLite ON DELETE SET DEFAULT:默认值已经设置,为什么删除父记录仍失败

SQLite ON DELETE SET DEFAULT:默认值已经设置,为什么删除父记录仍失败

把某个负责人删除后,资产自动转入“未分配”类别,是很自然的表设计。于是给子表外键写DEFAULT 0,再添加ON DELETE SET DEFAULT。真正删除时却报外键错误,容易让人怀疑动作没有执行。事实上,设置默...

yunqueblogyunqueblog/ 技术教程/ 2026-10-03/ 4 阅读
Python sqlite3 executemany:生成器中途报错,前两行为什么仍然被提交

Python sqlite3 executemany:生成器中途报错,前两行为什么仍然被提交

导入任务只调用了一次executemany,输入生成器却在第三项之前报错。调用者记录了错误,随后发现前两行已经提交。关键不在于数据库忽略了异常,而在于executemany会逐项消费参数并重复执行语句,输入失败时前面...

yunqueblogyunqueblog/ 技术教程/ 2026-10-03/ 4 阅读
GNU xargs 空输入:什么也没读到,为什么命令仍运行了一次

GNU xargs 空输入:什么也没读到,为什么命令仍运行了一次

批处理脚本筛出零个任务后,下游命令却仍运行了一次,是一种特别隐蔽的空批次问题。某些程序在没有位置参数时会读取标准输入、采用默认目录,甚至执行与有参数时不同的动作。GNU xargs默认允许一次没有新增参数的调用,因此...

yunqueblogyunqueblog/ 技术教程/ 2026-10-03/ 4 阅读
GNU tr 删除后再压缩:-d 与 -s 同时启用时,两组字符各管什么

GNU tr 删除后再压缩:-d 与 -s 同时启用时,两组字符各管什么

清理设备输出时,常见需求是删掉某种分隔符,再把重复字符压成一个。tr -ds看上去只是两个简单开关,但处理顺序会改变最终结果:删除动作可能让原本分开的字符成为相邻一段,而挤压随后会把这段一起缩短。若把同样两个步骤反过...

yunqueblogyunqueblog/ 技术教程/ 2026-10-03/ 4 阅读
  • 首页
  • 上一页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 下一页
  • 末页
  • 共 50 页
点击查看更多
Copyright2020后台修改文字. 基于Z-BlogPHP搭建