python教程技术文章
-
functools.singledispatchmethod 可以让同一个类方法按第一个非 self 参数的运行时类型选择实现。本文从注册、调用、装饰器顺序和子类继承四个边界拆开验证,给出适合消息解析与命令分发的落地写法。329 收藏 -
文章 · python教程 | 1小时前 | 日志 · 性能优化 · Python教程 · Python 异步日志 QueueListener logging.QueueHandler queue.Full
Python 用 QueueHandler 把日志交给后台线程后,有限队列一旦满了就会触发 queue.Full。本文用可复现实验比较默认处理、显式丢弃和阻塞写入,给出压测指标与上线边界。308 收藏 -
Python 用 zipfile 解压上传文件时,BadZipFile 往往来自错误的文件头、未完整写入或扩展名伪装。本文从 is_zipfile 与 ZipFile 验证开始,再处理成员路径和安全解压边界。246 收藏 -
dataclasses.replace 能创建同类型的新对象,却不会递归复制嵌套配置。本文用服务配置快照说明浅层替换、嵌套对象共享、fields 与 asdict 的边界,并给出可验证的更新流程。304 收藏 -
pathlib 和 os.path 都能处理 Python 文件路径,但适用边界并不一样。本文用配置目录、拼接、规范化和真实存在性检查四个场景比较两套 API,给出可落地的选型规则。353 收藏 -
文章 · python教程 | 6小时前 | 并发 · 异常处理 · python · 异步编程 · Python CancelledError 结构化并发 ExceptionGroup asyncio.TaskGroup
asyncio.TaskGroup 会在首个非取消异常出现后取消同组任务,并在退出时抛出 ExceptionGroup。本文用批量抓取场景拆开异常聚合、取消传播和结果收集边界,给出可复现的验收代码。414 收藏 -
用 selectors.DefaultSelector 组织非阻塞 socket 的注册、读事件分发和连接关闭,重点看 EVENT_READ、select、unregister 与 close 的顺序边界。469 收藏 -
itertools.batched 会惰性地把迭代器分成固定大小的元组,但默认允许最后一批不足 n。本文用订单编号批处理示例说明 strict=True 何时抛出 ValueError、如何选择补齐或拒绝,以及怎样验收没有静默漏数据。133 收藏 -
文章 · python教程 | 11小时前 | 文件读写 · 数据库 · sqlite3 · Blob · Python教程 · Python 事务 blob sqlite3 blobopen zeroblob
Python 的 sqlite3.Connection.blobopen 可以像文件一样分块读写已有 BLOB,但它不能改变长度,写入前要用 zeroblob 预留空间,并把 Blob 生命周期、事务提交和异常回滚分开处理。366 收藏 -
文章 · python教程 | 12小时前 | 数据校验 · decimal · Python教程 · 金额计算 · Python decimal quantize ROUND_HALF_UP 金额精度
金额计算不要直接依赖 float 的显示结果。本文用 Python decimal.Decimal 与 quantize 固定两位小数,拆开 ROUND_HALF_UP 的舍入选择、Inexact 校验和 InvalidOperation 异常边界,给出可复查的入账处理写法。196 收藏 -
文章 · python教程 | 13小时前 | 日志 · python · 多进程 · Python QueueListener multiprocessing.Queue logging.QueueHandler
用 QueueHandler 把多进程日志交给 QueueListener 统一写出,重点处理 Queue 的关闭顺序、join_thread 阻塞和日志丢失排查。474 收藏 -
文章 · python教程 | 14小时前 | 标准库 · python · pathlib · 安全校验 · 文件路径 · Python pathlib 路径校验 Path.relative_to walk_up
Python 3.12 为 pathlib.PurePath.relative_to 增加 walk_up 参数,可以生成带 .. 的相对路径,但它不会访问文件系统,也不能单独证明目标路径位于目录内。本文用 Path.resolve、relative_to 和 os.path.commonpath 拆开路径边界与符号链接风险。382 收藏 -
文章 · python教程 | 16小时前 | 调试 · python · inspect · 函数调用 · 参数绑定 · Python 参数校验 关键字参数 inspect.Signature.bind BoundArguments
当函数参数来自字典或配置时,inspect.Signature.bind 可以在真正调用前完成参数绑定并把错误收敛为 TypeError。本文从一个小型回调分发器出发,演示 Signature.bind、BoundArguments 和 apply_defaults 的边界。393 收藏 -
文章 · python教程 | 17小时前 | 并发 · 标准库 · 配置管理 · python · 版本升级 · 环境变量 并发安全 os.environ Python 3.14 os.reload_environ
Python 3.14 新增 os.reload_environ(),可以把进程外修改过的环境变量重新同步到 os.environ 与 os.environb。本文用配置热刷新场景拆开缓存来源、os.putenv 差异、线程安全边界和兼容版本写法。428 收藏 -
Python csv.DictReader 读取列数不整齐的 CSV 时,多余字段会进入 restkey,缺失字段会得到 None。本文用一组可复现的小例子说明如何校验表头、识别异常行并保留可追踪信息。215 收藏