python教程技术文章
-
金额计算不要直接依赖 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.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 收藏 -
Python 3.14 为 argparse 增加 suggest_on_error,可在 choices 或子命令拼写错误时给出相近提示。本文用一个备份命令行工具演示如何开启、如何兼容 Python 3.13 及更早版本,以及为什么它不能替代参数语义校验。183 收藏 -
Python 3.14 的 free-threaded 构建可以让线程真正并行,但收益取决于任务类型、共享状态和第三方扩展。本文用可重复的基准测试拆解线程加速、锁竞争和自动启用 GIL 的回退边界。183 收藏 -
用 Python pathlib.Path.rename 完成文件改名时,同名目标在 Windows 与 Unix 上的行为并不一样。本文从预检查、临时名切换和失败回滚三个环节,给出可复现的安全改名脚本。182 收藏 -
Python 3.12 起 sqlite3.Connection 支持 autocommit,推荐用它明确控制事务;LEGACY_TRANSACTION_CONTROL 才会继续使用 isolation_level。本文用提交、回滚和模式对比说明实际边界。181 收藏 -
用 pathlib.Path.rglob 扫描项目文件时,如何跳过隐藏目录并保留需要的隐藏文件?本文从遍历结果、路径过滤和符号链接边界写出可验证的 Python 实现。181 收藏 -
Python sqlite3 的 commit() 结束的是连接上的事务,不会自动关闭 Cursor。本文区分提交后的 fetch、重新 execute、写入游标和 autocommit 场景,给出安全的读取与确认方式。181 收藏 -
Python 3.14 为 argparse 增加 suggest_on_error,可在 choices 或子命令拼写错误时给出相近提示。本文用一个备份命令行工具演示如何开启、如何兼容 Python 3.13 及更早版本,以及为什么它不能替代参数语义校验。180 收藏 -
Python 3.14 新增的 InterpreterPoolExecutor 能让多个独立解释器并行执行任务。本文用一个可复用的 CPU 密集型示例说明任务拆分、参数传递、Future 收集、异常处理和兼容性取舍。180 收藏