python教程技术文章
-
使用 ThreadingHTTPServer 时,多个请求线程可能同时读改写共享字典,导致计数丢失或响应状态不一致。本文用基线指标、最小锁边界和快照模式给出可复现的处理方案。344 收藏 -
文章 · python教程 | 2星期前 | 性能优化 · 缓存设计 · Python教程 · Python functools.lru_cache Python 可变参数缓存键 Python list dict 缓存 Python 缓存失效
围绕 Python functools.lru_cache 讲清 list、dict 等可变参数为什么不能直接进入缓存键,以及如何通过递归规范化、内部缓存函数和主动失效设计出稳定的缓存接口。344 收藏 -
文章 · python教程 | 4星期前 | Windows · Python教程 · 文件系统 · Python Python 3.15 os.path.isreserved Windows 保留路径 ntpath
Python 3.15 推荐用 os.path.isreserved 判断 Windows 保留路径。本文解释 CON、尾随空格、冒号流等名称为何需要提前拒绝,并给出 Linux 或 macOS 生成 Windows 路径时使用 ntpath.isreserved 的跨平台写法。343 收藏 -
解释 Python zoneinfo 的缓存对象身份,说明 clear_cache、only_keys、no_cache 与 reset_tzpath 的适用场景和副作用。343 收藏 -
讲清 Python 3.14 如何用 uuid.uuid7 生成带毫秒时间的 UUID,读取 time 字段、按对象或字符串排序,并避开跨节点时钟偏差与安全令牌误用。341 收藏 -
用 json.loads() 的 parse_float 回调把金额 JSON 直接解析为 Decimal,说明默认 float、整数与小数的边界、嵌套字段、异常输入以及后续 JSON 编码的处理方式。337 收藏 -
Python 3.14 的自由线程构建取消了 GIL 的全局串行效果,共享字典、计数器和迭代器不能再靠偶然的执行顺序兜底。本文用一个带锁的共享计数器说明检测运行时、划定临界区、处理扩展兼容和压力验证的完整做法。337 收藏 -
用 Python ContextVar 在 asyncio 异步任务间传递 request_id,讲清 set、get、reset、create_task 上下文复制、copy_context 和日志排查边界。335 收藏 -
Python 3.15 同时引入了面向 free-threaded 构建的 abi3t。本文从兼容目标、Limited API、构建工具和 wheel 文件名四个角度,说明什么时候选 abi3.abi3t,什么时候必须单独构建 cp315t。331 收藏 -
文章 · python教程 | 4星期前 | JSON · Python教程 · 异常排查 · Python json.loads JSONDecodeError lineno colno pos JSON排错
Python 解析多行 JSON 报错时,JSONDecodeError 的 lineno 和 colno 是从 1 开始的行列坐标,pos 是 doc 中的 0 起始偏移。本文用 splitlines() 还原出错行,说明换行、空白和 Unicode 字符带来的定位边界,并给出可复用的诊断函数。326 收藏 -
拆开 Python sqlite3.Connection.backup 的 progress 回调,解释 status、remaining、total 的含义,并给出进度计算、批量大小和资源回收的实用写法。325 收藏 -
使用 ContextVar 保存请求级字段,再通过 logging.Filter 注入 LogRecord,解决并发请求日志串值、Formatter 字段缺失和线程复用清理问题。324 收藏 -
通过 QueueHandler 和 QueueListener 把 Python logging 的慢速 I/O 移到监听线程,本文给出队列配置、生命周期收尾、容量异常和多进程边界。323 收藏 -
用 Python asyncio.TaskGroup 管理关联协程:任务失败时统一取消剩余任务,在上下文退出后用 ExceptionGroup 分层处理异常,并正确完成取消清理。322 收藏 -
Python multiprocessing 中,Queue 适合传递任务和结果,Manager 适合共享少量状态。本文从序列化、代理调用、数据规模和进程回收四个边界给出选型方法与代码示例。316 收藏