python教程技术文章
-
当资源数量由配置或运行结果决定时,ExitStack 可以把文件、锁和回滚回调放进同一条可逆的清理链,并用 pop_all 保留成功结果。345 收藏 -
Python 的 pathlib.Path.walk() 适合把目录遍历结果直接交给 Path API 继续处理。本文从最小筛选写法出发,说明 top_down 剪枝、follow_symlinks 的风险、文件类型核对和 Python 版本兼容边界。319 收藏 -
Python 3.14 将函数、类和模块注解改为默认延迟求值,并新增 annotationlib。本文用最小示例说明 VALUE、FORWARDREF、STRING 三种读取格式,梳理 inspect.get_annotations 的兼容写法与升级验收边界。171 收藏 -
文章 · python教程 | 3星期前 | 标准库 · 安全 · python · 类型注解 Python 3.14 annotationlib get_annotations ForwardRef
Python 3.14 新增 annotationlib,允许按 VALUE、FORWARDREF 和 STRING 三种格式读取延迟注解。本文用插件注册和文档生成两个小场景,拆开格式选择、未定义名称与不可信注解的风险边界。462 收藏 -
文章 · python教程 | 3星期前 | 并发 · python · logging · 故障排查 · 优雅停机 日志丢失 QueueHandler 日志队列 Python QueueListener
Python 用 QueueHandler 把日志交给后台线程后,停机阶段不能只依赖进程退出。本文从日志资产、队列排空、监听器停止和异常收尾四个边界出发,给出一套可复查的优雅停机写法。316 收藏 -
Python 3.14 的 free-threaded 构建可以让线程真正并行,但收益取决于任务类型、共享状态和第三方扩展。本文用可重复的基准测试拆解线程加速、锁竞争和自动启用 GIL 的回退边界。183 收藏 -
Python argparse 的子命令经常需要共享配置参数。本文用一个可运行的命令行示例说明父解析器、默认值、dest 命名和 help 输出之间的边界,并给出拆分与验收方法。464 收藏 -
Python 3.14 为 zipfile 增加 Zstandard 写入支持。本文从压缩级别、旧版本兼容和解压验收三个角度,给出一套可复现的 ZIP_ZSTANDARD 使用方式。295 收藏 -
Python sqlite3 中回滚失效,常见原因不是 rollback() 写错,而是提交时机、异常捕获范围和连接边界没有对齐。本文用订单写入示例拆开事务生命周期、异常复现、上下文管理器和嵌套调用的验收方法。387 收藏 -
读取几 GB 的 CSV 时,真正容易把内存推高的往往不是分块大小,而是类型推断、字符串列和失败行处理。本文用 pandas 分块读取与 Python 原生迭代两条路径,说明如何设定 dtype、逐块校验、隔离坏行并用峰值数据验收。392 收藏 -
Python 日志重复打印通常不是 logger 调用了两次,而是同一条记录沿父子层级交给多个 handler。本文用最小示例拆开 propagate、handler 和配置初始化顺序,给出可复现的排查与修复方法。139 收藏 -
读取 CSV 不只是选择一个库。本文从逐行清洗、表格分析和大文件扫描三个场景比较 Python csv、pandas.read_csv 与 polars.read_csv,说明类型推断、内存、坏行和后续查询边界,给出可核对的选型规则。484 收藏 -
Python 日志配置不只是把日志打印出来。本文对比 basicConfig、dictConfig 和分层输出,给出从本地脚本到多模块服务的选择边界、配置示例与验收方法。368 收藏 -
Python 日志文件已经完成轮转,旧文件却继续变大,通常不是轮转器失效,而是进程仍持有旧文件句柄或多个 handler 重复写入。本文用 WatchedFileHandler、RotatingFileHandler 和多进程场景拆开排查,并给出可复现的验收步骤。204 收藏 -
Python 定时任务被重复触发时,单靠进程是否存在并不可靠。本文从文件锁、任务状态和异常恢复三个层面,搭建一个可检查、可恢复且避免重复执行的定时任务骨架。357 收藏