-
asyncio.wait 配合 FIRST_COMPLETED 可以先拿到已经完成或被取消的任务,并把仍在运行的任务放进 pending 集合。本文说明如何读取结果、处理超时,以及为什么必须显式决定 pending 任务的后续生命周期。
-
Python 3.13 引入的 Path.from_uri 能解析 file URI;Python 3.14 进一步明确 authority 行为。本文用 UNC 示例说明 Windows 与非 Windows 的差异、绝对路径要求和兼容处理。
-
Python shutil.copyfileobj 的 length 参数就是每轮读取的缓冲区大小。本文说明默认分块、正数缓冲区和负数一次性读取的差别,并给出大文件、网络流和临时文件复制时的内存与刷新处理方式。
-
Python logging 可以按 logger 名称层级为不同模块设置独立级别。本文用 web、worker 和 data 三个模块说明 logger、handler、propagate 的取舍,解决日志过多、缺失和重复打印问题。
-
Python 的 csv.reader.line_num 统计的是已经读过的物理行数,不等于返回的记录数。本文结合带引号换行的 CSV 场景,说明 newline=""、记录序号、csv.Error 和业务字段校验如何配合定位坏记录。
-
Python zoneinfo 处理夏令时不能只给 datetime 附加时区。本文用 ZoneInfo、fold 和 UTC 往返判断普通、缺失、重复三类本地时间,并说明跨平台部署时如何准备 IANA 时区数据以及保存 UTC、zone key 和 fold。
-
Python hashlib 可通过分块 read 与同一个摘要对象的 update 流式计算大文件 SHA-256;结合 file_digest 的版本边界,说明二进制读取、句柄关闭、错误处理及文件稳定性。
-
Python 的 dataclass 配合 frozen=True 可以把配置对象变成创建后不可直接改字段的实例。本文从定义、初始化校验、浅层冻结和 replace 复制几个边界出发,给出一套适合应用启动配置的写法。
-
Python argparse.BooleanOptionalAction 可以从一个布尔参数声明自动生成 --feature 与 --no-feature 两个开关。本文结合命令行配置的实际取舍,说明默认值、显式传参、帮助信息和旧版本兼容边界。
-
Python sqlite3 的 set_authorizer 可以在 SQL 编译阶段按操作码决定放行、拒绝或隐藏列读取。本文用一个只读连接示例说明回调参数、三种返回值、连接范围与不能替代的资源限制。
-
Python sqlite3 的动态查询不要把用户输入直接拼进 SQL。本文从 qmark、named 两种占位符讲起,说明动态 IN 条件如何按参数数量生成占位符,以及表名、列名和排序方向为什么需要白名单。
-
Decimal 直接接收 float 时会精确保留二进制浮点值,因此 Decimal(0.1) 可能出现长小数。本文说明怎样用字符串或整数构造,并用 FloatOperation 和 quantize 管住输入与输出边界。
-
用 Python tempfile.NamedTemporaryFile 创建带可见路径的临时文件,说明 delete、delete_on_close、with 清理和 Windows 重新打开的边界。
-
asyncio.Event 是可复用的状态标志,不是一次性消息队列。本文说明 set、wait、clear 的广播关系,并对比 Queue 与 Condition,帮助你避免清除时机不当造成的等待遗漏。
-
TaskGroup 首个非取消异常会取消尚未完成的同组任务,并在退出时组合已产生的异常。本文用 except* 分类 ExceptionGroup,并演示如何把普通业务异常转成结果对象,从而汇总每个异步任务的失败状态。