python教程技术文章
-
文章 · python教程 | 3星期前 | 缓存 · 垃圾回收 · python · 内存管理 · Python 内存缓存 对象生命周期 weakref.WeakValueDictionary 弱引用缓存
用一个对象缓存场景说明 Python WeakValueDictionary 如何不单独延长对象生命周期,覆盖最小写法、弱引用支持、缓存命中和回收边界,以及它与普通字典缓存的取舍。185 收藏 -
介绍 Python tomllib.loads 解析内存 TOML 字符串的方法,说明返回类型、嵌套字段、浮点数处理和 TOMLDecodeError 错误边界。318 收藏 -
介绍 Python dataclass 的 kw_only、KW_ONLY 与 field(kw_only=True) 写法,说明如何阻止位置参数,并处理继承、参数重排和 __match_args__ 边界。179 收藏 -
通过双 Handler 示例说明 logging Filter 如何补充记录字段,利用 Python 3.12 起支持的 LogRecord 替换实现输出端隔离,并解释格式器缺字段、extra 冲突与浅复制边界。426 收藏 -
文章 · python教程 | 3星期前 | 标准库 · 文件读取 · 编码 · python · Python pathlib UnicodeDecodeError Path.read_text 文本编码
Python pathlib 读取文本时,文件编码已知就显式传给 Path.read_text 的 encoding;遇到坏字节再按数据是否允许损失选择 errors。本文梳理默认编码、strict、replace、ignore 及 UnicodeDecodeError 的排查边界。101 收藏 -
LiteralString 不是运行时的新字符串类型,而是给静态类型检查器使用的字面量字符串边界。本文说明安全拼接、动态值分离、敏感 API 约束以及 Any 和 cast 带来的绕过风险。210 收藏 -
通过上传元数据示例说明 TypedDict 如何用 Required、NotRequired 和 total 标记部分必填字段,区分缺键与 None,并给出读取方式、版本注意及运行时边界。431 收藏 -
文章 · python教程 | 3星期前 | 队列 · Python教程 · asyncio · Python 消费者 asyncio.Queue Queue.shutdown QueueShutDown
Python 3.13 为 asyncio.Queue 增加 shutdown() 和 QueueShutDown。本文按新旧版本对比生产者停止、消费者排空、join 收尾和兼容降级,给出可直接改造的队列关闭写法。133 收藏 -
多个 asyncio 协程更新同一个计数时,读改写操作可能在 await 处交错,导致结果丢失。本文用 asyncio.Lock 和 async with 把共享更新放进同一临界区,并说明锁的释放、取消、线程同步和长耗时工作边界。296 收藏 -
用一个三项独立任务的汇总脚本说明 asyncio.gather 的异常返回模式,区分成功值、普通异常与子任务取消,并解释输入顺序、调用方取消传播和服务集成边界。449 收藏 -
比较 Python Path.replace 与 rename 的覆盖语义,解释相对路径、跨文件系统、Windows 文件占用及异常处理,并给出不先删目标的替换示例和迁移清单。415 收藏 -
Python 的 Popen.communicate 超时后,不能只捕获异常就结束。本文从输出管道、TimeoutExpired、kill 与再次 communicate 四个环节说明如何终止子进程、回收句柄,并保留已经产生的 stdout 和 stderr。457 收藏 -
Python tomllib.load() 接收可读的二进制文件对象,tomllib.loads() 接收字符串。本文围绕文件、bytes 和 str 三种输入边界,说明 TOML 配置的正确读取方式、UTF-8 解码和异常处理。202 收藏 -
Python contextvars 可以用 copy_context() 复制当前上下文,再用 Context.run() 让回调在副本中读取和修改 ContextVar。本文说明上下文隔离、外层恢复、空 Context、重复进入和异常传播等边界。143 收藏 -
使用请求级 LoggerAdapter 为 Python 日志附加上下文,解释 extra、字段缺失、merge_extra 版本边界和默认值的区别,并给出避免请求串号的示例。364 收藏