python教程技术文章
-
用 ContextVar 保存请求级上下文,再由 logging.Filter 统一注入 request_id,兼顾线程与 asyncio 场景。377 收藏 -
Python statistics.fmean 会先把输入转为 float,再计算算术平均,并始终返回浮点数。本文说明普通平均、加权平均、空数据、权重长度和混合数值类型的处理边界。377 收藏 -
Python 3.11 起可以用标准库 tomllib 读取 TOML,但读取成功不等于配置可用。本文从缺失键和类型不符两个现场入手,给出默认值、类型校验与错误定位的可复用写法。374 收藏 -
Python 生成器被提前停止时,close() 会通过 GeneratorExit 触发 finally,但未开始执行、被吞异常或引用仍存活等情况会改变清理结果。本文用可复现代码拆开这些边界。373 收藏 -
讲清 Python asyncio.timeout 嵌套时的取消责任边界、TimeoutError 捕获位置、CancelledError 清理方式,以及动态 deadline 的排查清单。373 收藏 -
Python functools.partial 可以预先绑定函数的一部分位置参数或关键字参数,返回一个更适合传给排序、映射和事件回调的可调用对象。本文用格式化与排序场景说明它保存什么、怎样调用,以及何时应该改用闭包或具名函数。373 收藏 -
Python 3.14 扩展兼容检查应区分安装标签、模块导入和功能验收。本文给出带独立子进程、超时与 GIL 状态记录的最小探测器,并说明普通构建与自由线程构建的差异。373 收藏 -
文章 · python教程 | 1个月前 | 超时控制 · Python教程 · Python sqlite3 set_progress_handler Python SQLite 查询超时 SQLite 中止长查询 Python 数据库执行预算
用 Python sqlite3 的 set_progress_handler 按执行预算中止长查询,区分锁等待超时与查询执行超时,并说明回调清理和异常判断。372 收藏 -
Python sqlite3 的动态查询不要把用户输入直接拼进 SQL。本文从 qmark、named 两种占位符讲起,说明动态 IN 条件如何按参数数量生成占位符,以及表名、列名和排序方向为什么需要白名单。372 收藏 -
用 Python pathlib.Path.walk 说明怎样通过 top_down、dirnames、on_error 和 follow_symlinks 控制目录遍历范围,并区分自顶向下与自底向上的适用场景。372 收藏 -
csv.DictReader 遇到重复表头时,普通字典会让后一个值覆盖前一个值。本文演示如何保留同名列的全部值,或预处理成唯一字段名后继续使用字典读取。371 收藏 -
Python ExitStack 适合资源数量由输入决定、或某些资源可选的场景。本文用文件、普通清理回调和 pop_all 说明如何动态注册资源、按逆序收尾,并在需要时转移关闭责任。371 收藏 -
用 Python zipfile.Path 像操作目录一样遍历 ZIP,掌握根路径、iterdir 递归、文件读取,以及不可信成员名的安全边界。370 收藏 -
AsyncExitStack 适合管理数量不固定的异步资源。本文用连接、会话和异步回调说明注册方式、逆序清理、中途失败与 aclose 的边界。369 收藏 -
contextlib.aclosing 会在离开 async with 时等待对象的 aclose(),让异步生成器即使因 break 或异常提前结束,也能在同一任务上下文执行 finally 清理。369 收藏