python教程技术文章
-
Python 项目里相对路径不稳定,通常不是 pathlib 的问题,而是把当前工作目录 cwd 和脚本位置 __file__ 混在了一起。本文用配置文件读取与 pytest 临时目录示例,拆开两种路径基准,并给出可验收的写法。131 收藏 -
文章 · python教程 | 2星期前 | python · 异步编程 · 故障排查 · asyncio CancelledError TaskGroup Python 3.14 print_call_graph
Python 3.14 为 asyncio 增加调用图观察能力。本文用 TaskGroup 和取消状态的最小案例,说明如何从悬挂任务的等待链定位问题,并给出可复查的修复步骤。126 收藏 -
Python 相对路径默认以进程当前工作目录为起点,不是以脚本文件所在目录为起点。本文用 pathlib 区分 Path.cwd()、__file__ 和 resolve(),给出项目资源与用户输入的稳定路径写法及排查清单。126 收藏 -
multiprocessing.Queue 的 close() 不会立刻杀掉 feeder thread,它还要把缓冲数据刷入 pipe。本文解释 close、join_thread 与 cancel_join_thread 的边界,并给出避免进程退出卡住的关闭顺序。125 收藏 -
文章 · python教程 | 1个月前 | 字符串 · 标准库 · 模板 · python · Python 3.14 · Template Python 3.14 t-string string.templatelib PEP 750
Python 3.14 的 t-string 仍使用花括号插值,但结果是可检查的 Template,而不是已经拼好的 str。掌握 strings、interpolations、conversion 与 format_spec 的边界,才能把它用于日志、HTML 或领域文本处理。121 收藏 -
文章 · python教程 | 1天前 | python · asyncio · 异步调试 · 任务排查 · 进程诊断 · ps asyncio await Python 3.14 pstree 任务树
Python 3.14 新增的 asyncio pstree 可以从任务树和 coroutine stack 定位未结束的 await 分支。本文用带任务名的 TaskGroup 示例说明如何取得 PID、读取 pstree、在 await 图循环时切换 ps,并整理平台与权限检查边界。120 收藏 -
argparse 默认解析器遇到多个位置参数和选项交错时,参数归属容易让人误判。本文用 parse_intermixed_args 对比普通 parse_args,说明它的工作边界、子解析器限制和互斥组兼容性。114 收藏 -
Python 的 zipfile.Path 适合在不解压的情况下浏览 ZIP 目录和读取文件,但它不会替调用者清理归档内的路径。本文用目录判断、文件读取和安全落盘三个场景,拆开 Path 的使用边界、路径遍历校验与 ZipFile.extractall 的差异。113 收藏 -
用 packaging.SpecifierSet.is_unsatisfiable 在依赖解析前识别确定无解的版本范围,同时说明预发布版本、通配符和完整解析器之间的边界。112 收藏 -
文章 · python教程 | 1个月前 | 面向对象 · python · 后端开发 · dataclass · default_factory · Python Field 可变默认值 dataclass default_factory 列表字段
dataclass 里的 list、dict、set 不能直接当默认值:当前 Python 会把常见的不可哈希默认值拦成 ValueError。应使用 field(default_factory=list) 在每次创建实例时生成新列表;当默认值来自配置或需要延迟构造时,也要分清工厂函数、浅拷贝和 None 的语义。111 收藏 -
csv.DictReader 遇到重复表头会发生字典键覆盖。本文用 csv.reader 按位置保留原始列,再生成唯一字段名,并说明 restkey、restval 的适用边界。107 收藏 -
Python multiprocessing 使用 spawn 时,子进程会重新导入主模块。本文用入口保护、统一 context、Queue 传递和日志边界解决重复导入与重复输出问题。107 收藏 -
TypeIs 和 TypeGuard 都能让类型检查器理解自定义谓词,但它们对 True、False 分支以及不变容器的处理并不相同。用可运行示例拆开选择边界。104 收藏 -
Python 的 eager_task_factory 会让协程在任务创建阶段先运行,遇到阻塞才回到事件循环。本文用同步完成、真实等待和同步异常三条路径说明迁移验收与兼容边界。103 收藏 -
文章 · python教程 | 3星期前 | python · 数据迁移 · pathlib · 版本升级 · 文件系统 · 符号链接 Python 3.14 pathlib.Path.copy Path.move 文件树迁移
Python 3.14 为 pathlib.Path 增加 copy()、copy_into()、move() 和 move_into(),可以把文件树迁移逻辑收回 Path API。本文用备份目录迁移场景核对覆盖、符号链接、元数据和跨文件系统边界,并给出旧版本兼容方案。102 收藏