python教程技术文章
-
文章 · python教程 | 1星期前 | 标准库 · 数据库 · uuid · python · 兼容性 · Python 3.14 uuid.uuid7 UUIDv7 数据库主键 RFC 9562
Python 3.14 在 uuid 模块中加入 uuid.uuid7()。本文用订单事件表演示它的时间有序特征、毫秒内单调计数、数据库字段设计和旧版 Python 的兼容入口。157 收藏 -
Kubernetes 滚动部署时,Kafka 消费者因未处理完消息即被强制终止,导致 offset 提交不完整、消息丢失;根本原因在于缺乏 SIGTERM 信号捕获与优雅停机机制。 Kubernetes 滚动部署时,Kafka 消费者因未处理完消息即被强制终止,导致 offset 提交不完整、消息丢156 收藏 -
asyncio.Queue 适合在协程之间传递有界任务,但只创建队列并不能自动解决背压和停机。本文用真实的生产者、消费者和关闭信号示例,说明 maxsize、put、task_done、join 的配合边界,以及如何让队列在停止时不丢任务。152 收藏 -
文章 · python教程 | 3天前 | 并发 · 消息队列 · 异步编程 · Python教程 · 性能稳定性 · Python 消费者 超时 Queue asyncio 哨兵 asyncio.Queue task_done
asyncio.Queue 的任务处理结束,不等于消费者协程会自动结束。本文用固定数量哨兵、task_done()、gather() 和 wait_for() 组成可验证的优雅停机流程,说明有界队列、异常回收与超时检查的边界。151 收藏 -
Python 3.13 新增的 copy.replace() 适合给 dataclass、namedtuple 和自定义 __replace__ 对象生成字段变体。本文用订单配置场景说明它与 copy.copy、deepcopy、dataclasses.replace 的边界,并给出兼容检查和测试方法。147 收藏 -
文章 · python教程 | 3天前 | 数据校验 · Python教程 · dataclasses · 类型标注 · Python 数据类 dataclasses InitVar __post_init__
dataclasses.InitVar 是只参与初始化、不保存为实例字段的伪字段。本文用配置参数注入和输入校验示例,说明它如何进入 __post_init__、为何不出现在 fields() 与 asdict() 中,以及序列化时应如何设计。147 收藏 -
Python 日志重复打印通常不是 logger 调用了两次,而是同一条记录沿父子层级交给多个 handler。本文用最小示例拆开 propagate、handler 和配置初始化顺序,给出可复现的排查与修复方法。139 收藏 -
Python 3.12 引入的 pathlib.Path.walk 适合做目录统计、缓存清理和文件审计。本文用一个临时目录清理任务讲清 top_down、dirnames 剪枝、on_error 与符号链接边界,并给出兼容旧版本的选择。135 收藏 -
itertools.batched 会惰性地把迭代器分成固定大小的元组,但默认允许最后一批不足 n。本文用订单编号批处理示例说明 strict=True 何时抛出 ValueError、如何选择补齐或拒绝,以及怎样验收没有静默漏数据。133 收藏 -
Python 项目里相对路径不稳定,通常不是 pathlib 的问题,而是把当前工作目录 cwd 和脚本位置 __file__ 混在了一起。本文用配置文件读取与 pytest 临时目录示例,拆开两种路径基准,并给出可验收的写法。131 收藏 -
文章 · python教程 | 3小时前 | python · 异步编程 · 故障排查 · asyncio CancelledError TaskGroup Python 3.14 print_call_graph
Python 3.14 为 asyncio 增加调用图观察能力。本文用 TaskGroup 和取消状态的最小案例,说明如何从悬挂任务的等待链定位问题,并给出可复查的修复步骤。126 收藏 -
argparse 默认解析器遇到多个位置参数和选项交错时,参数归属容易让人误判。本文用 parse_intermixed_args 对比普通 parse_args,说明它的工作边界、子解析器限制和互斥组兼容性。114 收藏 -
Python 的 zipfile.Path 适合在不解压的情况下浏览 ZIP 目录和读取文件,但它不会替调用者清理归档内的路径。本文用目录判断、文件读取和安全落盘三个场景,拆开 Path 的使用边界、路径遍历校验与 ZipFile.extractall 的差异。113 收藏 -
TypeIs 和 TypeGuard 都能让类型检查器理解自定义谓词,但它们对 True、False 分支以及不变容器的处理并不相同。用可运行示例拆开选择边界。104 收藏 -
Python 的 eager_task_factory 会让协程在任务创建阶段先运行,遇到阻塞才回到事件循环。本文用同步完成、真实等待和同步异常三条路径说明迁移验收与兼容边界。103 收藏