python教程技术文章
-
使用 importlib.resources.files() 获取 Traversable 后,可通过 joinpath、iterdir、is_file 和 read_text 读取包内目录。本文同时说明 zip 包兼容、as_file 目录支持与旧 contents API 的迁移边界。359 收藏 -
本文用 pathlib.Path.with_suffix 说明如何批量替换目录内文件的最后一个扩展名,并处理无后缀、多重后缀、目标冲突、预览执行和跨平台 rename 行为。359 收藏 -
Python 定时任务被重复触发时,单靠进程是否存在并不可靠。本文从文件锁、任务状态和异常恢复三个层面,搭建一个可检查、可恢复且避免重复执行的定时任务骨架。357 收藏 -
用双层上下文把 Python sqlite3 的提交、异常回滚和连接关闭绑定起来,覆盖异常传播、资源释放与生产检查边界。357 收藏 -
Python 项目使用 editable install 后,源码修改通常重启解释器即可生效;依赖、入口脚本、版本元数据和非 Python 扩展变化则要重新安装或构建。本文按变化类型给出更新判断和发布前复查方法。356 收藏 -
Python io.BufferedReader.peek 可以在不推进逻辑读取位置的情况下观察二进制流前缀,但返回字节数不保证等于请求值。本文按值班手册说明如何处理短前缀、EOF、非阻塞空结果和长度字段。356 收藏 -
用泛型 Protocol 的 __call__ 描述可调用对象输入与输出的类型关系,兼容普通函数和可调用实例,并说明 Python 3.12 与旧语法、方差和运行时边界。355 收藏 -
本文用 Python 标准库 urllib.request 说明如何组装 Request、设置 urlopen 的 timeout、用上下文管理器关闭响应,并区分 HTTPError、URLError 与 TimeoutError,给出一个可复用的最小 HTTP 客户端。355 收藏 -
用 Python sqlite3.Connection.backup 将正在访问的 SQLite 数据库复制到独立目标连接,掌握分页、进度回调、锁竞争和资源关闭的实用写法。355 收藏 -
Python 的 tarfile 不是把归档直接解开就完事:本文用一个可运行的临时目录示例,拆解成员路径检查、data_filter、部分解压后的清理,以及 Python 3.12 到 3.14 的兼容写法。354 收藏 -
pathlib 和 os.path 都能处理 Python 文件路径,但适用边界并不一样。本文用配置目录、拼接、规范化和真实存在性检查四个场景比较两套 API,给出可落地的选型规则。353 收藏 -
用 Python os.scandir 和 DirEntry 完成目录扫描,区分文件类型判断、stat 属性读取、符号链接口径与缓存失效边界,避免把条目缓存误当成实时状态。353 收藏 -
Python contextvars 的 set 会返回 Token,使用对应 ContextVar.reset(token) 就能撤销一次临时修改。本文结合异常处理、嵌套 set 和 Python 3.14+ 的上下文管理器写法,说明如何安全恢复旧值。353 收藏 -
GUDHI 默认仅对实际存在的拓扑特征输出同调信息;原始代码中未构造闭合环路,故无非平凡的一维同调类,导致维度 1 的结果不出现。需显式构建 1-单纯形闭链(如四边形循环)才能观测到 H₁ 的持久区间。 GUDHI 默认仅对实际存在的拓扑特征输出同调信息;原始代码中未构造闭合环路,故无非平凡的一维同352 收藏 -
文章 · python教程 | 2个月前 | 异常处理 · 资源管理 · 异步编程 · Python教程 · Python 回滚 aclose contextlib.AsyncExitStack 异步资源
异步服务在初始化数据库连接、临时目录或会话资源时,只要中途一步失败,前面已经成功创建的资源就必须可靠释放。本文用 contextlib.AsyncExitStack 拆开 enter_async_context、push_async_callback 与 aclose 的调用链,说明逆序清理、部分初始化失败和重复关闭的边界。352 收藏