python教程技术文章
-
本文用 Python 解析访问日志的场景讲清正则命名分组:如何把原始日志拆成字段字典,如何处理格式不符合预期的错误行,最后统计接口访问次数、状态码分布和慢请求。308 收藏 -
Python 3.14 新增的多解释器线程池能让多个独立解释器在同一进程中并行处理 CPU 密集任务,但它不共享可变对象。本文用一个可验收的小实验检查参数序列化、解释器隔离、异常回收和退出边界,帮助你判断它是否适合现有 Python 服务。308 收藏 -
文章 · python教程 | 1星期前 | 日志 · 性能优化 · Python教程 · Python 异步日志 QueueListener logging.QueueHandler queue.Full
Python 用 QueueHandler 把日志交给后台线程后,有限队列一旦满了就会触发 queue.Full。本文用可复现实验比较默认处理、显式丢弃和阻塞写入,给出压测指标与上线边界。308 收藏 -
Python 3.14 的 asyncio.eager_task_factory 可以让同步完成的协程绕过事件循环调度,但它会改变执行时机和任务顺序。本文用缓存命中与真实等待两类协程说明启用方式、性能验证和回归边界。306 收藏 -
QueueHandler 本身不会自动把日志变成安全的异步链路:如果它把记录送回监听同一队列的日志路径,就会出现递归、重复输出或队列持续增长。本文用最小示例拆开 QueueHandler、QueueListener 与 logger 层级的边界,给出可验证的安全配置。306 收藏 -
dataclasses.replace 能创建同类型的新对象,却不会递归复制嵌套配置。本文用服务配置快照说明浅层替换、嵌套对象共享、fields 与 asdict 的边界,并给出可验证的更新流程。304 收藏 -
JODI 数据库(jodidb.org)的 TableViewer 页面是典型的参数驱动型动态 ,直接访问基础 URL 会因缺少必要查询参数而无法加载内容;必须提供有效的 ReportId 才能成功加载目标报表。 JODI 数据库(jodidb.org)的 TableViewer 页面是典型的参数驱302 收藏 -
Python 用 subprocess 调用命令时,显式设置 encoding 和 text 可以直接得到正确中文;如果输出编码不稳定,则保留 bytes 后再用 errors 策略解码。301 收藏 -
文章 · python教程 | 11小时前 | 并发 · 日志 · Python教程 · 多进程 · 排障 · Python Fork multiprocessing 多进程日志 spawn QueueHandler QueueListener
Python 多进程直接写终端或同一个文件时,日志容易互相交错。本文用 multiprocessing.Queue、QueueHandler 和 QueueListener 集中日志出口,并解释 spawn、fork、队列关闭与全局顺序的边界。300 收藏 -
本文用 Python Pillow 实现图片批量压缩:从输入目录读取图片,按最大宽度等比缩放,输出 WebP,并生成压缩清单方便检查体积和清晰度。299 收藏 -
Python 项目里同一条日志重复出现两三次,常见原因是重复 addHandler 或子 logger 向根 logger 继续上抛。本文从复现现象开始,逐步检查 Handler 数量、logger 层级和 propagate 配置,整理一套稳定的日志初始化写法。299 收藏 -
Python typing.Protocol 适合把第三方对象需要满足的最小接口写成结构化类型,不要求对方继承本地基类。本文用存储适配场景说明 Protocol、runtime_checkable 与真正行为测试各自能保证什么。298 收藏 -
文章 · python教程 | 1个月前 | protocol · Python教程 · 运行时 · typing · 类型检查 · Python 静态类型 typing.Protocol runtime_checkable 结构化类型 isinstance
Python 的 Protocol 主要服务于静态类型检查,runtime_checkable 只把接口成员是否存在带到 isinstance;它不会验证参数、返回值或属性类型。本文用可运行示例拆开两条边界,并给出适合生产代码的检查方式。295 收藏 -
Python 3.14 为 zipfile 增加 Zstandard 写入支持。本文从压缩级别、旧版本兼容和解压验收三个角度,给出一套可复现的 ZIP_ZSTANDARD 使用方式。295 收藏 -
asyncio.to_thread 能让事件循环避开同步阻塞函数,但它不会把 CPU 密集型代码变成真正并行。文章用一个可运行实验拆开线程池容量、取消语义、异常传递和优雅停机边界,给出上线前的检查清单。291 收藏