python教程技术文章
-
weakref.finalize 适合为文件句柄、临时目录等资源安排对象回收后的兜底动作,但回调参数、存活引用和解释器退出阶段都有明确边界。本文用可运行的小例子拆解注册、触发、detach 与 atexit 行为。200 收藏 -
使用 Python pathlib 的 resolve 与 relative_to 统一路径坐标,安全判断候选路径是否位于根目录下,并处理符号链接、越界、跨盘符和不存在目标等边界。199 收藏 -
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教程 | 2星期前 | 数据校验 · decimal · Python教程 · 金额计算 · Python decimal quantize ROUND_HALF_UP 金额精度
金额计算不要直接依赖 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星期前 | python · SQLite · dbm · 键值存储 · SQLite 键值存储 Python 3.14 Python 3.13 dbm.sqlite3
Python 3.13 新增 dbm.sqlite3 后,dbm 的键值接口可以落到 SQLite 文件上。本文用缓存索引小实验说明 flag、字节值、关闭、SQLite 直读和旧版本兼容边界。188 收藏 -
Python logging.Filter 可以在 LogRecord 交给处理器前补充请求上下文。本文用 trace_id 和 operator 两个字段演示过滤器挂载位置、Formatter 字段匹配、多处理器分流及缺失字段的安全处理。187 收藏 -
Python 3.14 的 free-threaded 构建可以让线程真正并行,但收益取决于任务类型、共享状态和第三方扩展。本文用可重复的基准测试拆解线程加速、锁竞争和自动启用 GIL 的回退边界。183 收藏 -
用 Python pathlib.Path.rename 完成文件改名时,同名目标在 Windows 与 Unix 上的行为并不一样。本文从预检查、临时名切换和失败回滚三个环节,给出可复现的安全改名脚本。182 收藏 -
用 pathlib.Path.rglob 扫描项目文件时,如何跳过隐藏目录并保留需要的隐藏文件?本文从遍历结果、路径过滤和符号链接边界写出可验证的 Python 实现。181 收藏 -
Python sqlite3 的 commit() 结束的是连接上的事务,不会自动关闭 Cursor。本文区分提交后的 fetch、重新 execute、写入游标和 autocommit 场景,给出安全的读取与确认方式。181 收藏 -
Python 3.14 新增的 InterpreterPoolExecutor 能让多个独立解释器并行执行任务。本文用一个可复用的 CPU 密集型示例说明任务拆分、参数传递、Future 收集、异常处理和兼容性取舍。180 收藏