python教程技术文章
-
介绍 Python array 类型码不匹配时的按元素转换方法,并说明浮点精度、溢出、非有限值和原始字节解释的边界。311 收藏 -
ExceptionGroup.split 会递归筛选嵌套异常,并返回匹配组与剩余组。本文给出按异常类型拆分、处理可恢复错误、重新抛出未知错误的紧凑写法。311 收藏 -
Python NamedTemporaryFile 默认在 close() 时删除文件;需要在 with 块内关闭后按文件名重新打开时,应使用 delete_on_close=False,并注意 Windows 的共享删除权限与退出清理边界。311 收藏 -
Python SpooledTemporaryFile 可调用 rollover() 在未超过 max_size 时主动迁移到磁盘临时文件。本文用完整示例说明手动落盘、文件指针保持、fileno() 隐式触发和自动清理边界。307 收藏 -
用 Python decimal.quantize 处理金额时,先用 Decimal 字符串和 0.01 量子固定小数位,再按业务规则选择 ROUND_HALF_EVEN、ROUND_HALF_UP 或方向性舍入,避免把截断、中点取偶数和远离零混为一谈。306 收藏 -
Python logging 出现重复日志,通常是子 logger 自带 handler 后又因 propagate=True 把同一记录交给 root handler。本文用检查代码和配置边界说明如何定位与修复。306 收藏 -
Python itertools.batched 的 strict=True 只要求最后一批也达到 n 个元素;本文用完整、尾批不足和空输入三个例子说明 ValueError 的边界,并给出整除校验与版本兼容写法。306 收藏 -
用一个可收尾的 Python 异步日志小项目讲清 QueueHandler、QueueListener、队列容量、prepare 与 stop 的配置和排查边界。303 收藏 -
讲清 Python enum.StrEnum 的显式值、auto()、.value、str()、JSON 序列化和旧版本兼容排查方法。298 收藏 -
介绍 Python argparse 中全局选项、子命令和位置参数的边界设计,用 add_subparsers 与 set_defaults 实现互不抢占的 CLI 解析。298 收藏 -
对比 Python typing.TypeGuard 与 TypeIs 在 True、False 分支中的类型收窄差异,解释 list 不变性边界,并给出静态检查验证方法。295 收藏 -
Python import 很慢时,应先用 -X importtime 区分模块自身耗时与包含子依赖的累计耗时,再排查模块顶层的文件 I/O、网络连接、插件扫描和重对象构造。本文给出轻量 __init__、函数内 import、按需初始化及复测方法,并说明延迟导入只是转移成本。292 收藏 -
用 Python typing.TypeGuard 为联合类型和容器结构补上可验证的类型守卫,说明成功分支收窄、失败分支边界、TypedDict 检查与 Python 版本兼容写法。290 收藏 -
importlib.metadata 读取的是已安装 distribution 的版本元数据,不是源码目录里的模块版本。本文从 pyproject.toml 配置、解释器一致性、distribution 名称和 PackageNotFoundError 四个方面给出排查方法。287 收藏 -
csv.DictReader 遇到缺失列时不会自动替业务规则报错。本文用一个订单 CSV 导入器区分缺失列、缺失值和多余列,并给出带文件名、行号和字段名的 Python 错误处理代码。286 收藏