python教程技术文章
-
QueueHandler 能把业务线程与日志写盘拆开,但队列满载、监听线程退出和异常日志递归仍会让系统失去可观测性。本文从负载约束、方案取舍和验收指标出发,给出一套可落地的降级做法。164 收藏 -
TypeIs 和 TypeGuard 都能让类型检查器理解自定义谓词,但它们对 True、False 分支以及不变容器的处理并不相同。用可运行示例拆开选择边界。104 收藏 -
Python logging.Filter 不只是放行或丢弃日志;当过滤器修改 LogRecord 时,handler 之间可能互相污染上下文。本文用可运行示例拆开过滤边界、复制记录和验证方法。212 收藏 -
文章 · python教程 | 4星期前 | 日志 · logging · Python教程 · 生产运维 · Python 优雅停机 logging QueueHandler QueueListener 日志不丢
Python logging 使用 QueueHandler 和 QueueListener 后,停机阶段不能只调用 logging.shutdown() 就结束进程。本文用一个可运行的日志队列示例,拆解停止接收、等待队列排空、关闭监听器和异常兜底的顺序,给出生产环境可复查的验收方法。469 收藏 -
Python 3.13 新增 os.process_cpu_count(),它读取当前进程可用的逻辑 CPU 数,可能小于 os.cpu_count()。本文用容器配额和线程池示例拆开默认值、None 回退、显式 max_workers 与验收边界。197 收藏 -
Python 3.14 为 pathlib.Path 增加了 Path.info,用缓存的文件类型信息减少批量扫描中的重复判断。本文从目录扫描小项目出发,演示 Path.info 的使用边界、缓存何时失效、如何用 Path(p) 获得新缓存,以及什么时候仍应调用 is_file、is_dir 和 stat。420 收藏 -
Python 3.14 的解释器池用多个独立解释器获得真正的多核并行,但任务函数、参数和返回值都要经过序列化,解释器之间也不能直接共享可变对象。本文用 CPU 计算与故障任务拆开说明通信边界、异常处理和上线前验收方法。447 收藏 -
Python 的 webbrowser.open 适合把链接交给系统浏览器打开,但它不是 Selenium 或 Playwright,返回 True 也不代表页面加载成功。本文用最小示例拆开控制器选择、返回值和无界面环境的边界。223 收藏 -
Python 异步服务需要把 request_id、租户或用户上下文带进子任务时,contextvars 能保持 Task 隔离,但跨线程不会自动复制。本文用可复现的边界检查说明 copy_context、to_thread 与日志关联的正确用法。234 收藏 -
用 Python 3.12+ 的 sys.monitoring 追踪函数调用,讲清工具 ID、事件掩码、回调签名、DISABLE 优化与旧版本回退边界。386 收藏 -
当资源数量由配置或运行结果决定时,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教程 | 4星期前 | 标准库 · 安全 · python · 类型注解 Python 3.14 annotationlib get_annotations ForwardRef
Python 3.14 新增 annotationlib,允许按 VALUE、FORWARDREF 和 STRING 三种格式读取延迟注解。本文用插件注册和文档生成两个小场景,拆开格式选择、未定义名称与不可信注解的风险边界。462 收藏 -
文章 · python教程 | 4星期前 | 并发 · python · logging · 故障排查 · 优雅停机 日志丢失 QueueHandler 日志队列 Python QueueListener
Python 用 QueueHandler 把日志交给后台线程后,停机阶段不能只依赖进程退出。本文从日志资产、队列排空、监听器停止和异常收尾四个边界出发,给出一套可复查的优雅停机写法。316 收藏