Python splitext:隐藏文件的开头点,为什么不被当成扩展名 批量生成缩略图名称时,脚本想把扩展名换成新格式。直接按点拆开再取第一段,会把 report.final.png 变成 report,也会把开头带点的配置名拆成空字符串。文件名里的点承担不同角色,不能把所有位置都视作“... yunqueblog/ 技术教程/ 2026-10-02/ 4 阅读
Python singledispatch:第二个参数不参与选路,bool 也会走整数分支 给一种操作安排多种实现写一个小型导出器时,数字要补零,文字要原样保留,布尔值要显示开关状态。开始用几个判断就够了,但类型不断增加后,可以把同一种操作的实现分别注册到 singledispatch。调用入口仍是一个函数... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Python ChainMap 配置覆盖:读取会向下查,写入为什么只落在第一层 配置合并后,还能看清优先级吗一个脚本同时读取默认值、项目配置和本次运行参数。每次都把三个字典合并成新字典当然可行,但如果还需要临时覆盖、撤销覆盖,或者观察默认值的更新,反复复制容易让代码里散落多套优先级。ChainM... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Python deque 滑动窗口:旧记录自动淘汰,累计值也要同步减掉 窗口只留三条,总和为什么还一直增加一个小型仪表脚本只显示最近三次读数,用带 maxlen 的 deque 保存历史后,第四次读数会自动挤掉最旧的一条。列表看起来正确,但旁边的总和却可能仍把所有历史读数加在一起。容器只... yunqueblog/ 技术教程/ 2026-10-01/ 8 阅读