python教程技术文章
-
Python PickleBuffer 配合 pickle 协议 5,可把大数组数据作为带外缓冲区单独传递,让主 pickle 流只保存对象结构与引用标记。本文给出 NumPy 与自定义容器写法,并说明连续性、顺序、生命周期和安全边界。207 收藏 -
Python 包被压缩为 zip 后,使用 importlib.resources.files() 返回 Traversable,直接读取文本或二进制资源;只有下游 API 强制要求真实路径时,才用 as_file() 在上下文内临时获取 pathlib.Path。143 收藏 -
说明 Python subprocess.Popen 的 pipesize 在 PIPE、Linux 平台和系统管道限制满足时才会实际调整容量,并区分它与 bufsize、communicate 的职责。187 收藏 -
介绍 Python dataclass 的 KW_ONLY 分隔符、字段级与类级关键字参数设计,并说明继承、模式匹配和兼容迁移边界。366 收藏 -
contextlib.aclosing 会在离开 async with 时等待对象的 aclose(),让异步生成器即使因 break 或异常提前结束,也能在同一任务上下文执行 finally 清理。369 收藏 -
介绍 Python tomllib.loads 的 parse_float 参数,说明如何用 Decimal 或自定义回调替换默认 float,并梳理返回值限制、整数边界和配置精度策略。158 收藏 -
Python 的 sqlite3.Connection.blobopen 可对已有 SQLite BLOB 做分块读写。本文演示 zeroblob 预分配、流式写入和导出,并说明固定长度、rowid 权限、事务与资源边界。205 收藏 -
Python csv.DictReader 可用 restkey 把一行中超出 fieldnames 的值收集到列表。本文给出最小写法,并说明默认 None 键、多余表头、缺失字段、严格模式和导入审计的处理方式。171 收藏 -
@runtime_checkable 让 Protocol 可用于 isinstance,但运行时只检查成员是否存在,不验证参数、返回值或属性类型。本文拆解静态类型域与运行时结构域,并给出 callable、签名、适配器和业务契约的分层补强方法。410 收藏 -
讲清 Python asyncio.timeout 如何通过 Timeout.reschedule 动态缩短、延长或取消截止时间,并说明绝对时钟、TimeoutError 捕获位置及 expired 状态检查。403 收藏 -
从 setup.py 迁移到 pyproject.toml 时,先划分构建后端、静态元数据和动态配置,再用 sdist、wheel、普通安装与 editable 安装逐项回归。236 收藏 -
从大块数据跨进程复用的场景出发,讲清 Python multiprocessing.shared_memory 的缓冲区布局、名称附加、同步方式、close 与 unlink 责任,以及 resource tracker 边界。218 收藏 -
Python subprocess 超时不会自动终止子进程。本文按 POSIX 与 Windows 分开说明进程组建立、超时后的树级终止、管道回收和验证边界,给出可改造的 Popen 清理示例。108 收藏 -
文章 · python教程 | 1星期前 | 日志 · logging · Python教程 · Python contextvars request_id LogRecord logging.Filter
用 Python contextvars 保存 request_id 和用户标识,再由 logging.Filter 将上下文字段注入 LogRecord,统一交给 Formatter 输出;文章同时说明 Handler 挂载位置、缺省值和 finally reset 的并发边界。410 收藏 -
解释 Python itertools.groupby 的连续分组语义,说明何时必须按同一个 key 排序、如何保存分组迭代器,以及复合 key 的边界。351 收藏