Go语言技术文章
-
systemd-tmpfiles --purge 不是普通的 /tmp 轮转命令。它只处理命令行指定的 tmpfiles.d 配置中带 $ 标记的创建项,适合软件包卸载时清理自身声明的运行目录。本文给出定位配置、--dry-run 预览、正式执行和与 --remove、--clean 区分的完整流程。340 收藏 -
遇到遗留命令或 POSIX 系统传来的非 UTF-8 环境变量时,Python 的 os.environb 可以保留原始 bytes。本文按触发场景、支持检查、读取流程和显式解码说明怎样安全接入,并梳理它与 os.environ 的同步关系及失败处理。464 收藏 -
Python contextlib.ContextDecorator 让同一个上下文管理器同时支持 with 和函数装饰器。本文说明重复调用、__enter__ 返回值、__exit__ 异常传播和显式 with 的选择边界。242 收藏 -
Python contextlib.chdir 会在 with 进入时切换当前工作目录,并在退出时恢复进入前的目录。本文用嵌套和异常场景说明恢复顺序,再解释线程、异步和 yield 场景的全局状态风险。158 收藏 -
Python functools.cached_property 的缓存写在实例同名属性上。修改源数据后删除该属性,下一次读取就会重新计算;本文同时说明 __dict__、__slots__ 与并发访问边界。463 收藏 -
Python 3.10 起,bisect.insort 可以用 key 提取对象的排序字段:key 只参与二分查找,插入时仍保留完整对象。本文用一个小型排行榜说明重复分数、insort_left 与列表插入复杂度。106 收藏 -
文章 · python教程 | 4天前 | 标准库 · python · 数据处理 · 问题排查 · collections.Counter 库存扣减 Python Counter.subtract 缺失项目 负计数
Counter.subtract 会保留零值和负值,真正判断缺失项目不能只看扣减结果。本文用库存与需求示例区分原始不存在、数量不足和恰好用完,并给出可复用的诊断函数。410 收藏 -
解释 ChainMap 查找层与写入层的差异,演示用 maps 显式更新指定配置、用 new_child 隔离修改,以及何时应该封装深层写入规则。390 收藏 -
Python defaultdict 的下标读取会触发 __missing__,调用 default_factory 并把缺省值写回字典。本文对比 []、get()、in 和 keys/items 的差异,帮助你区分主动初始化与只读查询。482 收藏 -
在批量导入和流式处理里,itertools.compress 可以按位置消费数据与布尔选择器,不必先构造完整列表。本文重点说明长度不一致时的停止边界、惰性迭代和选型取舍。265 收藏 -
解释 itertools.accumulate 为什么不会自动按标记重置,并给出先切分后累计、惰性生成器以及 groupby 配合累计的完整工作流。233 收藏 -
本文围绕 itertools.pairwise 的相邻记录比较,说明如何在保留流式处理优势的同时补回首条和末条信息,并覆盖空输入、单条输入和多条输入的边界处理。172 收藏 -
TreeSet 不是用 equals 直接判断重复,而是沿着 compareTo 或 Comparator.compare 的结果定位元素。本文用一个只比较年龄的场景解释 compare 返回 0 为什么会让第二个对象无法加入,并给出主键加唯一标识的稳定改法与迁移检查清单。190 收藏 -
Java 月度账期不要手写二月天数。使用 YearMonth 表达年月,再调用 atEndOfMonth() 得到月末 LocalDate;需要展示或复核时,用 lengthOfMonth() 和 isLeapYear() 处理闰年差异。472 收藏 -
用 Java Instant.truncatedTo 按分钟截断时间戳,理解支持单位、UTC 截断方向、比较方式与负时间戳边界。229 收藏