python教程技术文章
-
用 asyncio.Semaphore 控制批量协程的并发上限,再配合 asyncio.wait_for 和 gather(return_exceptions=True) 区分超时、成功与失败,让任务在单次请求异常后仍能继续收敛。339 收藏 -
小型 Python JSON API 选 Flask 还是 Django,不要只看轻量或全能。本文按数据层、后台能力、JSON 校验和部署约束给出可执行的选择规则。339 收藏 -
用 Python asyncio.TaskGroup 管理并发任务:理解首个异常如何取消同组任务、如何清理 CancelledError,以及如何用 except* 处理 ExceptionGroup。339 收藏 -
文章 · python教程 | 2天前 | 标准库 · xml · Python教程 · Python xml 流式解析 ElementTree xml.etree.ElementTree iterparse
Python 的 iterparse 会按事件逐步读取 XML,但不会自动逐步释放已构建节点。本文用 end 事件提取完整记录,并结合 elem.clear() 与父节点 remove 控制大 XML 的内存增长。339 收藏 -
Python csv.DictWriter 的 fieldnames 决定输出列顺序,restval 负责补齐缺失键,extrasaction 控制额外键是报错还是忽略。本文用一组可复用的导出代码说明三种边界处理方式,并给出批量写入前的记录规范化做法。339 收藏 -
讲清 multiprocessing.Queue 的 feeder thread、close、join_thread 与 cancel_join_thread,给出先消费再 join 的安全收尾写法,避免结果传输阻塞或丢失。338 收藏 -
Python 3.15 的 sys._jit 把 JIT 的可用、启用和当前活动状态分开提供。本文用一段兼容读取代码解释 is_active 的准确含义、构建与 PYTHON_JIT 的影响,以及为什么它只适合测试和调试 JIT。338 收藏 -
用 json.loads() 的 parse_float 回调把金额 JSON 直接解析为 Decimal,说明默认 float、整数与小数的边界、嵌套字段、异常输入以及后续 JSON 编码的处理方式。337 收藏 -
Python 3.14 的自由线程构建取消了 GIL 的全局串行效果,共享字典、计数器和迭代器不能再靠偶然的执行顺序兜底。本文用一个带锁的共享计数器说明检测运行时、划定临界区、处理扩展兼容和压力验证的完整做法。337 收藏 -
AsyncExitStack 适合管理数量不固定的异步资源。本文从接口职责、资源登记、异步清理回调和异常路径入手,给出一个统一释放资源的 Python 示例。337 收藏 -
文章 · python教程 | 3天前 | 异常处理 · Python教程 · pathlib · 文件系统 · Python 目录遍历 pathlib OSError Path.walk on_error PermissionError
Python pathlib.Path.walk 默认会忽略目录扫描产生的 OSError。本文说明怎样用 on_error 接收异常,读取 filename,并按 PermissionError 等错误类型决定记录后继续还是重新抛出。337 收藏 -
Python zoneinfo 处理夏令时不能只给 datetime 附加时区。本文用 ZoneInfo、fold 和 UTC 往返判断普通、缺失、重复三类本地时间,并说明跨平台部署时如何准备 IANA 时区数据以及保存 UTC、zone key 和 fold。336 收藏 -
Python asyncio 任务完成后对象仍存活,通常不是垃圾回收失效,而是协程帧、Task 结果、异常回溯或业务容器仍持有强引用。本文用最小复现和诊断代码定位引用链。335 收藏 -
用 Python ContextVar 在 asyncio 异步任务间传递 request_id,讲清 set、get、reset、create_task 上下文复制、copy_context 和日志排查边界。335 收藏 -
Python asyncio 中可以用 Semaphore 限制同时进入一次 IO 操作的任务数。本文从任务创建、信号量上下文、超时取消和并发粒度说明怎样控制请求排队,避免把并发上限误写成任务总数。335 收藏