python教程技术文章
-
用 Python pathlib.Path.walk 说明怎样通过 top_down、dirnames、on_error 和 follow_symlinks 控制目录遍历范围,并区分自顶向下与自底向上的适用场景。372 收藏 -
文章 · python教程 | 1星期前 | 异常处理 · python · 异步编程 · asyncio · 超时处理 CancelledError Python异步 asyncio.timeout TimeoutError
asyncio.timeout 超时后会先取消当前任务,再在离开上下文时把 CancelledError 转换为 TimeoutError。本文说明正确的捕获层级、finally 清理位置和 reschedule 动态期限用法。433 收藏 -
用原创 asyncio TaskGroup 示例说明 except* 分类处理、嵌套异常叶子统计和取消状态,区分实际异常汇总与让所有任务完成检查的不同需求。396 收藏 -
文章 · python教程 | 1星期前 | 性能 · python · pathlib · 文件系统 · Python pathlib pathinfo Path.info iterdir 目录项类型 文件系统缓存
Python 3.14 的 pathlib.Path.info 可以复用目录扫描得到的类型信息,适合在 iterdir 后批量区分目录和文件;需要最新状态时仍应使用 Path.is_dir 等实时查询。本文说明缓存边界、符号链接处理和可读的封装方式。325 收藏 -
文章 · python教程 | 1星期前 | 异常处理 · python · logging · handler traceback propagate Python logging logging.exception 日志重复输出
Python logging 中可以用 logger.exception 在异常处理器里保留完整 traceback;如果同一条日志重复出现,优先检查重复调用、父子 logger 的 propagate,以及同一层级是否挂了多个 handler。本文给出集中配置和排查模板。181 收藏 -
Python zipfile 默认支持 ZIP64 扩展,但 allowZip64 与 force_zip64 解决的是不同问题。本文分别说明已知大小文件和未知大小流式数据的写法,并解释 LargeZipFile 的触发边界与兼容注意。131 收藏 -
Python argparse 可用 parents 复用子命令参数定义,但选项位置和默认值仍需明确。通过公共解析器示例,说明帮助冲突、同名字段覆盖、兼容回退与排查要点。345 收藏 -
用 Python tomllib 读取 TOML 日期配置时,裸日期会得到 datetime.date,引号日期仍是 str。本文对比配置写法、返回类型和显式转换方法,并说明带时区日期时间的处理边界。223 收藏 -
Python sqlite3 原生只认识有限的 SQLite 类型。本文用 Point 示例说明如何注册 register_adapter 写入自定义对象,再用 register_converter 与 detect_types 在查询时恢复对象,并列出声明类型、列名解析和版本兼容边界。438 收藏 -
Python typing.TypeIs 可以把可复用的布尔判断接入类型收窄,并在 True 与 False 两个分支提供更精确的类型信息。本文从联合类型示例出发,说明安全写法、Python 版本导入、TypeGuard 对比和错误实现边界。501 收藏 -
判断函数是否为 coroutine function,优先使用 inspect.iscoroutinefunction。本文区分 async def 函数、partial 包装、同步函数返回协程、async generator 与已经调用后的 coroutine 对象,避免把函数检查和结果检查混在一起。299 收藏 -
Python asyncio.Queue 的 join 等待未完成计数归零,需要消费者逐条调用 task_done。通过 TaskGroup 与退出哨兵示例,区分队列清空、消费者退出和业务成功,并说明 Python 3.13+ shutdown 的迁移注意事项。426 收藏 -
Python asyncio.timeout 会在截止时间到达时取消当前任务,并在上下文管理器退出时把 asyncio.CancelledError 转换为内置 TimeoutError。本文给出最小写法,再说明异常捕获位置、动态截止时间、expired 状态、嵌套超时和 wait_for 的区别。285 收藏 -
asyncio.wait 配合 FIRST_COMPLETED 可以先拿到已经完成或被取消的任务,并把仍在运行的任务放进 pending 集合。本文说明如何读取结果、处理超时,以及为什么必须显式决定 pending 任务的后续生命周期。314 收藏 -
Python 3.13 引入的 Path.from_uri 能解析 file URI;Python 3.14 进一步明确 authority 行为。本文用 UNC 示例说明 Windows 与非 Windows 的差异、绝对路径要求和兼容处理。281 收藏