python教程技术文章
-
讲清 Python asyncio.timeout 嵌套时的取消责任边界、TimeoutError 捕获位置、CancelledError 清理方式,以及动态 deadline 的排查清单。373 收藏 -
文章 · python教程 | 3星期前 | 超时控制 · Python教程 · Python sqlite3 set_progress_handler Python SQLite 查询超时 SQLite 中止长查询 Python 数据库执行预算
用 Python sqlite3 的 set_progress_handler 按执行预算中止长查询,区分锁等待超时与查询执行超时,并说明回调清理和异常判断。372 收藏 -
csv.DictReader 遇到重复表头时,普通字典会让后一个值覆盖前一个值。本文演示如何保留同名列的全部值,或预处理成唯一字段名后继续使用字典读取。371 收藏 -
用 Python zipfile.Path 像操作目录一样遍历 ZIP,掌握根路径、iterdir 递归、文件读取,以及不可信成员名的安全边界。370 收藏 -
AsyncExitStack 适合管理数量不固定的异步资源。本文用连接、会话和异步回调说明注册方式、逆序清理、中途失败与 aclose 的边界。369 收藏 -
contextlib.aclosing 会在离开 async with 时等待对象的 aclose(),让异步生成器即使因 break 或异常提前结束,也能在同一任务上下文执行 finally 清理。369 收藏 -
介绍 Python dataclass 的 KW_ONLY 分隔符、字段级与类级关键字参数设计,并说明继承、模式匹配和兼容迁移边界。366 收藏 -
用 asyncio.timeout、wait_for 和 wait 处理 Python 异步超时:厘清作用域、取消、TimeoutError、shield 以及 done/pending 的差异,快速定位超时语义问题。365 收藏 -
使用 importlib.resources.files() 获取 Traversable 后,可通过 joinpath、iterdir、is_file 和 read_text 读取包内目录。本文同时说明 zip 包兼容、as_file 目录支持与旧 contents API 的迁移边界。359 收藏 -
用双层上下文把 Python sqlite3 的提交、异常回滚和连接关闭绑定起来,覆盖异常传播、资源释放与生产检查边界。357 收藏 -
用泛型 Protocol 的 __call__ 描述可调用对象输入与输出的类型关系,兼容普通函数和可调用实例,并说明 Python 3.12 与旧语法、方差和运行时边界。355 收藏 -
解释 Python itertools.groupby 的连续分组语义,说明何时必须按同一个 key 排序、如何保存分组迭代器,以及复合 key 的边界。351 收藏 -
用一个集合元素检查案例说明 Python typing.TypeGuard 的最小写法、真分支收窄规则、假分支边界,以及它与 TypeIs 和普通 bool 检查函数的区别。348 收藏 -
Python typing.Annotated 的元数据默认会被 get_type_hints() 移除。本文演示如何用 include_extras=True 保留注解,并通过 get_origin、get_args、__origin__ 和 __metadata__ 读取基础类型与元数据。347 收藏 -
Python decimal 的精度由 Context 控制。本文说明 Decimal 输入与运算精度的区别,并用 localcontext 和显式 Context 隔离局部计算,避免污染全局规则。346 收藏