python教程技术文章
-
Python configparser 中,缺失 section 与缺失 option 不是同一类问题。本文用 has_section、has_option、DEFAULT 继承、fallback 和异常处理,整理出一套可直接复用的判断方式。432 收藏 -
文章 · python教程 | 1个月前 | 异常处理 · Python教程 · 兼容性 · ExceptionGroup Python contextlib.suppress BaseExceptionGroup except*
讲清 Python 3.12 contextlib.suppress 对 ExceptionGroup 的部分抑制语义,并给出 Python 3.11 except* 的兼容处理与测试边界。431 收藏 -
通过上传元数据示例说明 TypedDict 如何用 Required、NotRequired 和 total 标记部分必填字段,区分缺键与 None,并给出读取方式、版本注意及运行时边界。431 收藏 -
Python sqlite3 使用 :name 这类命名占位符时应传字典。本文解释 Python 3.14 的行为变化,并给出 execute、executemany 和回归检查的迁移写法。430 收藏 -
本文说明 Python tempfile.TemporaryFile 如何在不依赖可见文件名的情况下完成临时读写,重点覆盖 seek 定位、二进制与文本模式、上下文清理、目录参数以及与 NamedTemporaryFile 的选择边界。429 收藏 -
Python logging 的 Filter 不只是返回 True 或 False。从 Python 3.12 起,挂在 Handler 上的过滤器可以返回替换后的 LogRecord,实现按输出目标改写字段而不污染其他 Handler。本文用 request_id 和脱敏字段拆开旧写法、新语义、并发边界与兼容处理。428 收藏 -
文章 · python教程 | 2个月前 | 并发 · 标准库 · 配置管理 · python · 版本升级 · 环境变量 并发安全 os.environ Python 3.14 os.reload_environ
Python 3.14 新增 os.reload_environ(),可以把进程外修改过的环境变量重新同步到 os.environ 与 os.environb。本文用配置热刷新场景拆开缓存来源、os.putenv 差异、线程安全边界和兼容版本写法。428 收藏 -
Python dataclasses.replace 会按原类型创建新实例,适合更新 frozen dataclass。本文说明字段覆盖、__post_init__、InitVar、init=False 和嵌套可变字段的实际边界。428 收藏 -
argparse 多子命令 CLI 中,公共参数可以先集中定义在 add_help=False 的父解析器,再通过 parents 传给每个子命令。本文用一个原创备份工具示例说明参数位置、-h 冲突、Namespace 合并和初始化顺序。427 收藏 -
Python 3.10 起可用 @dataclass(slots=True) 自动生成 __slots__,避免每个字段固定的小对象创建实例 __dict__。本文通过完整小项目对比批量实例内存,并说明序列化、继承、动态属性和弱引用的兼容边界。427 收藏 -
Python 3.13 为 queue.Queue 增加了 shutdown(),可以让生产者停止投递、消费者排空已有任务后自然退出,也可以用 immediate=True 立即终止。本文用一个线程生产者消费者示例说明两种模式、ShutDown 异常和 task_done/join 的配合边界。427 收藏 -
通过双 Handler 示例说明 logging Filter 如何补充记录字段,利用 Python 3.12 起支持的 LogRecord 替换实现输出端隔离,并解释格式器缺字段、extra 冲突与浅复制边界。426 收藏 -
Python asyncio.Queue 的 join 等待未完成计数归零,需要消费者逐条调用 task_done。通过 TaskGroup 与退出哨兵示例,区分队列清空、消费者退出和业务成功,并说明 Python 3.13+ shutdown 的迁移注意事项。426 收藏 -
文章 · python教程 | 2个月前 | 反射 · python · 兼容性 · format Python 3.14 annotationlib get_annotations ForwardRef 延迟注解
Python 3.14 新增 annotationlib,为读取延迟求值的类型注解提供 VALUE、FORWARDREF 和 STRING 三种格式。本文用插件注册器场景说明三种结果如何选择、未定义前向引用怎样保留,以及为什么生产代码不应随意求值注解,并给出旧版本兼容路径。425 收藏 -
Python json.loads 默认保留重复键的最后值。本文用 object_pairs_hook 实现按对象拒绝重复键,说明嵌套对象、null、转义名称和 object_hook 的迁移注意事项。424 收藏