python教程技术文章
-
Python subprocess 文本输出出现 bytes、中文乱码或空结果时,重点检查 text、encoding、errors、stdout、stderr 和 returncode 的边界,并给出可直接改造的排查示例。444 收藏 -
使用 Python argparse 的 add_subparsers 和 add_parser 拆分 list、create 等子命令,再用 set_defaults 绑定处理函数,解决参数归属和命令派发问题。443 收藏 -
当资源数量运行时才确定时,contextlib.ExitStack 可以把文件、锁和临时清理动作按进入顺序登记,并在退出时逆序回收。本文从一个批量读取小项目出发,说明 enter_context、callback 和异常路径的配合方式。441 收藏 -
文章 · python教程 | 1星期前 | 异步编程 · Python教程 · 超时处理 · 任务取消 · Python asyncio CancelledError TaskGroup wait_for shield
asyncio.wait_for 超时后,底层任务看起来还在运行,通常不是超时失效,而是任务正在响应取消并执行 finally 清理,或者被 asyncio.shield 有意保护。本文用最小实验区分取消、清理、保护和 TaskGroup 的边界。441 收藏 -
Python 3.13 引入 copy.replace() 后,可以用同一套入口更新 dataclass、namedtuple 和实现 __replace__() 的自定义对象。本文用订单配置示例核对新对象、浅层共享、字段校验与旧版本兼容边界。439 收藏 -
文章 · python教程 | 3星期前 | 命令行 · Python教程 · Python 3.14 · 兼容性 · argparse · 命令行工具 argparse ArgumentParser Python 3.14 prog __main__
Python 3.14 调整 argparse.ArgumentParser 的默认程序名,让脚本、-m 模块和包入口显示更贴近真实启动方式。本文用三个启动场景核对帮助文本变化,并给出迁移时显式设置 prog 的兼容策略。436 收藏 -
本文介绍在不转换为 Pandas 的前提下,使用原生 PyArrow API 对分组列执行累计求和(cumulative sum per group),核心思路是结合 pc.cumulative_sum、group_by().aggregate() 和 join 实现偏移量校正,适用于大规模数据且性435 收藏 -
Python csv.DictReader 遇到数据行缺列时默认用 restval 补齐。本文从表头、分隔符、编码和 newline 入手排查,并说明 restval、restkey、fieldnames 与必填字段校验的边界。434 收藏 -
使用 Python zipfile 处理不可信 ZIP 时,先读取 ZipInfo 元数据,检查路径穿越、文件数量、总未压缩大小和压缩比,再把通过筛选的成员交给解压逻辑。432 收藏 -
文章 · python教程 | 2天前 | 异常处理 · Python教程 · 兼容性 · ExceptionGroup · contextlib · ExceptionGroup Python contextlib.suppress BaseExceptionGroup except*
讲清 Python 3.12 contextlib.suppress 对 ExceptionGroup 的部分抑制语义,并给出 Python 3.11 except* 的兼容处理与测试边界。431 收藏 -
Python sqlite3 使用 :name 这类命名占位符时应传字典。本文解释 Python 3.14 的行为变化,并给出 execute、executemany 和回归检查的迁移写法。430 收藏 -
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 收藏 -
文章 · python教程 | 1星期前 | 命令行工具 · 子命令 · Python教程 · argparse · Python argparse 子命令 argparse subparsers 公共参数
argparse 多子命令 CLI 中,公共参数可以先集中定义在 add_help=False 的父解析器,再通过 parents 传给每个子命令。本文用一个原创备份工具示例说明参数位置、-h 冲突、Namespace 合并和初始化顺序。427 收藏