python教程技术文章
-
itertools.batched 会惰性地把迭代器分成固定大小的元组,但默认允许最后一批不足 n。本文用订单编号批处理示例说明 strict=True 何时抛出 ValueError、如何选择补齐或拒绝,以及怎样验收没有静默漏数据。133 收藏 -
Python 3.15 延迟导入的启动收益需要按入口测量。本文比较普通导入、函数内导入与显式 lazy import,提供新进程测量示例,并说明首次使用成本、异常时机和版本兼容取舍。133 收藏 -
文章 · python教程 | 1星期前 | 队列 · Python教程 · asyncio · Python 消费者 asyncio.Queue Queue.shutdown QueueShutDown
Python 3.13 为 asyncio.Queue 增加 shutdown() 和 QueueShutDown。本文按新旧版本对比生产者停止、消费者排空、join 收尾和兼容降级,给出可直接改造的队列关闭写法。133 收藏 -
Python 3.12+ 可用类型参数语法改写通用类、函数和类型别名。本文用 Box[T]、first[T] 与 Pair[T] 说明迁移步骤,并列出 Python 3.11 兼容边界。132 收藏 -
Python sched 取消尚未触发的定时事件,需要保存 scheduler.enter 或 enterabs 返回的事件对象,再交给同一个调度器的 cancel;事件不在队列时会抛出 ValueError。本文说明事件句柄、重复取消和业务任务映射的处理方式。132 收藏 -
Python 项目里相对路径不稳定,通常不是 pathlib 的问题,而是把当前工作目录 cwd 和脚本位置 __file__ 混在了一起。本文用配置文件读取与 pytest 临时目录示例,拆开两种路径基准,并给出可验收的写法。131 收藏 -
Python zipfile 默认支持 ZIP64 扩展,但 allowZip64 与 force_zip64 解决的是不同问题。本文分别说明已知大小文件和未知大小流式数据的写法,并解释 LargeZipFile 的触发边界与兼容注意。131 收藏 -
plistlib.UID 不是普通 int 的别名,而是为二进制 plist 保留 UID 类型语义的包装对象。本文用一个小工具说明类型判断、数值转换、写回格式和兼容边界。131 收藏 -
InterpreterPoolExecutor 隔离的是工作解释器,不保证每次 submit 都获得全新解释器。本文说明如何用参数、函数局部状态和返回值避免任务串状态,并比较 initializer 与进程回收方案。130 收藏 -
Python statistics.multimode 会返回所有最高频值,并按这些值在原始数据中首次出现的顺序排列。本文用小例子说明结果语义、空输入、可哈希要求和业务侧二次排序边界。130 收藏 -
Textual Worker取消后,异步任务应让CancelledError穿过并在finally中释放资源;线程Worker不能强制终止,需要轮询is_cancelled,在安全检查点停止,并通过call_from_thread更新界面。129 收藏 -
文章 · 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 收藏