python教程技术文章
-
用 TOMLDecodeError 的 msg、pos、lineno 和 colno 定位解析失败位置,再结合表头与错误行推断具体键,并处理 Python 版本差异。198 收藏 -
使用 Python pathlib.Path.walk 遍历目录时,可在 top_down=True 模式下原地修改 dirnames,直接阻止指定子树继续下探。本文给出按名称和相对路径裁剪、错误处理、符号链接防环及验收方法。401 收藏 -
讲清 Python contextvars 如何让每个 asyncio Task 持有独立上下文,并给出请求标识传递、Token 恢复和常见边界处理方法。202 收藏 -
通过一个异步仓储接口的类型报错,讲清 Protocol 中 async def 的正确写法、Awaitable 双层嵌套、参数形状、泛型协议与运行时检查边界。363 收藏 -
dataclasses.replace 会调用数据类的 __init__ 重建对象,而 InitVar 不保存在实例字段中。本文讲清无默认值时如何显式传参、有默认值时的回退行为、init=False 字段重算,以及何时应改用真实字段或自定义复制方法。381 收藏 -
解释 importlib.resources.as_file 返回路径的生命周期:需要从 zip 等容器提取时,临时文件或目录会在退出上下文后清理;并给出块内使用、ExitStack 延长借用期和复制持久化三种写法。318 收藏 -
sqlite3.Connection.backup 的 progress 回调会直接给出 remaining 和 total。本文用可复用记录器计算剩余页数、完成比例与单轮增量,并解释 pages、status、并发写入和进度回退边界。264 收藏 -
Python mmap 不会把整个映射一次复制进堆,但超大文件仍可能受虚拟地址空间限制。本文给出跨平台分段映射配方:对齐 offset、限定逻辑窗口、拼接跨窗记录、限制超长行,并正确处理空文件、提前停止和资源释放。146 收藏 -
用一个长度前缀二进制报文示例,说明 Python memoryview 如何复用底层缓冲区、配合 struct.unpack_from 解析头部,并处理复制边界、可写性和生命周期。225 收藏 -
文章 · python教程 | 2星期前 | 并发控制 · Python教程 · asyncio · 虚假唤醒 wait_for Python asyncio asyncio.Condition 异步同步
asyncio.Condition.wait() 返回后共享状态可能仍不满足要求。本文从多消费者空队列故障出发,说明 wait_for(predicate) 如何在锁内重复检查条件,并给出通知、超时、取消和代码审查的完整写法。478 收藏 -
讲清 Python ExceptionGroup 的 derive、split 与 subgroup 如何协作,帮助自定义异常组保留请求标识、消息、notes 和异常链上下文。417 收藏 -
文章 · python教程 | 2星期前 | 异常处理 · 并发编程 · Python教程 · asyncio · asyncio 结构化并发 ExceptionGroup except* Python TaskGroup
TaskGroup 会在兄弟任务取消并完成收尾后,把非取消异常组合成 ExceptionGroup。本文演示 except* 分类处理、取消边界与 gather 的选择差异。208 收藏 -
文章 · python教程 | 2星期前 | 并发编程 · 工程实践 · Python教程 · 多进程日志 QueueListener multiprocessing.Queue RotatingFileHandler Python QueueHandler
Python 多进程不能依赖多个 FileHandler 安全写入同一文件。本文用 multiprocessing.Queue、QueueHandler 和 QueueListener 建立单写入者结构,给出可复用完整示例,并说明轮转、队列容量、LogRecord 序列化、multiprocessing 内部日志与安全关闭顺序。186 收藏 -
Pydantic 部分更新不能用 None 判断字段是否缺失。本文用 model_fields_set 与 model_dump(exclude_unset=True) 保留显式 null、排除未提供字段,并梳理 Pydantic v2 的 model_dump、model_copy 与回归测试。399 收藏 -
pytest Fixture 的 scope 决定资源被缓存和复用多久。本文从测试隔离、初始化成本和共享状态风险出发,对比五种作用域,并给出 session 基础设施配合 function 事务的实用方案。341 收藏