python教程技术文章
-
weakref.finalize 适合为文件句柄、临时目录等资源安排对象回收后的兜底动作,但回调参数、存活引用和解释器退出阶段都有明确边界。本文用可运行的小例子拆解注册、触发、detach 与 atexit 行为。200 收藏 -
使用 Python pathlib 的 resolve 与 relative_to 统一路径坐标,安全判断候选路径是否位于根目录下,并处理符号链接、越界、跨盘符和不存在目标等边界。199 收藏 -
用 TOMLDecodeError 的 msg、pos、lineno 和 colno 定位解析失败位置,再结合表头与错误行推断具体键,并处理 Python 版本差异。198 收藏 -
Python 3.13 新增 os.process_cpu_count(),它读取当前进程可用的逻辑 CPU 数,可能小于 os.cpu_count()。本文用容器配额和线程池示例拆开默认值、None 回退、显式 max_workers 与验收边界。197 收藏 -
Windows 下复用 Python tempfile.NamedTemporaryFile 时,关键是区分原句柄是否仍打开,并正确选择 delete_on_close 或 delete 参数。本文给出 Python 3.12+ 与旧版本的写法、清理责任和验证清单。197 收藏 -
Python sqlite3 的 autocommit、isolation_level 和 Connection 上下文管理器并不是同一层机制。本文从数据持久化风险出发,说明三种事务模式的边界、异常回滚方式和可直接采用的连接写法。197 收藏 -
Python 批量调用外部接口时,任务越多不一定越快。本文从订单补数任务的耗时基线出发,用 httpx 连接池、asyncio.Semaphore 和超时预算控制请求数量,并通过压测结果说明配置边界与排查方法。196 收藏 -
金额计算不要直接依赖 float 的显示结果。本文用 Python decimal.Decimal 与 quantize 固定两位小数,拆开 ROUND_HALF_UP 的舍入选择、Inexact 校验和 InvalidOperation 异常边界,给出可复查的入账处理写法。196 收藏 -
用 importlib.resources.files 读取包内资源,并通过 Traversable 与 as_file 兼容目录、压缩包和真实文件路径场景。195 收藏 -
Python re.finditer 默认只返回非重叠匹配。本文用 ababa 说明漏结果的原因,并给出正向先行断言和按起点扫描两种处理方式。193 收藏 -
讲清 Python zipfile ZipFile.extractall 的危险路径检查:遍历 ZipInfo、拒绝绝对路径和 .. 组件,用 commonpath 验证目录边界,并补充 ZIP 炸弹的数量与大小限制。193 收藏 -
Python 3.15 把 frozendict 加入内置类型。本文从默认配置、运行时覆盖和缓存键三个场景出发,说明如何构造与合并不可变映射,并梳理浅不可变、哈希条件和 dict 类型判断的边界。192 收藏 -
Python 3.13 新增 dbm.sqlite3 后,dbm 的键值接口可以落到 SQLite 文件上。本文用缓存索引小实验说明 flag、字节值、关闭、SQLite 直读和旧版本兼容边界。188 收藏 -
Python logging.Filter 可以在 LogRecord 交给处理器前补充请求上下文。本文用 trace_id 和 operator 两个字段演示过滤器挂载位置、Formatter 字段匹配、多处理器分流及缺失字段的安全处理。187 收藏 -
说明 Python subprocess.Popen 的 pipesize 在 PIPE、Linux 平台和系统管道限制满足时才会实际调整容量,并区分它与 bufsize、communicate 的职责。187 收藏