python教程技术文章
-
asyncio.Future 已经有结果、异常或被取消后,再调用 set_result 或 set_exception 就会触发 InvalidStateError。本文用一个统一完成入口处理重复回调,并说明取消、跨线程和生命周期边界。128 收藏 -
pathlib.rglob 不会默认排除点开头名称。本文用隔离样本区分根目录、大小写和后置过滤,并解释符号链接、迭代器消费及扫描错误对结果完整性的影响,给出 Path.walk 错误报告写法。127 收藏 -
文章 · 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 收藏 -
从大文件生成器管道的三个常见故障入手,讲清同步按需拉取的背压边界、提前停止时的关闭级联,以及保留行号和原始原因的异常传播写法。126 收藏 -
multiprocessing.Queue 的 close() 不会立刻杀掉 feeder thread,它还要把缓冲数据刷入 pipe。本文解释 close、join_thread 与 cancel_join_thread 的边界,并给出避免进程退出卡住的关闭顺序。125 收藏 -
csv.DictWriter 遇到字典中的多余键时,默认会抛出 ValueError。本文结合 extrasaction、restval 和 fieldnames,说明严格报错、忽略多余字段以及缺失字段填充值的区别,给出稳定的 CSV 导出写法。125 收藏 -
讲清 Python 3.13+ asyncio.Queue shutdown(False) 与 shutdown(True) 下 put、get、join 等待者的唤醒结果,以及消费者的安全收尾写法。124 收藏 -
colorsys使用归一化RGB坐标,不能靠改成浮点自动识别0到255色值。通过原创示例与两张结构图,说明输入归一化、HSV范围、严格接口包装及反向量化策略。123 收藏 -
Python 3.14 新增的 asyncio pstree 可以从任务树和 coroutine stack 定位未结束的 await 分支。本文用带任务名的 TaskGroup 示例说明如何取得 PID、读取 pstree、在 await 图循环时切换 ps,并整理平台与权限检查边界。120 收藏 -
Pillow 的 Image.getbands() 会返回当前图像的通道名称元组。本文结合 mode 说明 RGB、RGBA、L 和 P 模式的差异,并解释通道名称为什么不能单独证明像素透明。119 收藏 -
从最小 dataclass(slots=True) 写法出发,说明固定字段布局、动态属性限制、继承重复字段、weakref_slot 与 fields() 的边界,给出迁移和验收清单。118 收藏 -
Python 的 bisect_left 和 bisect_right 分别找到重复分数的左、右插入点,两个下标组成左闭右开区间,直接切片即可得到全部匹配项。118 收藏 -
Python 的 zoneinfo 用 IANA 区域名创建带时区 datetime。本文说明本地时区构造、astimezone 与 replace 的区别、tzdata 部署依赖,以及夏令时重复时间的 fold 处理。118 收藏 -
Python typing.Self 适合标注返回当前实例的链式方法,也能用于随 cls 创建同类实例的 classmethod。本文结合继承、上下文管理器和固定返回基类的反例,说明如何选择准确的返回类型。118 收藏