python教程技术文章
-
用 Python hashlib.file_digest 从二进制文件对象直接计算摘要,覆盖算法名称、文件位置、阻塞模式、资源关闭、HMAC 工厂和从手写读取循环迁移的检查项。300 收藏 -
文章 · python教程 | 3星期前 | 超时控制 · 异步编程 · Python教程 · asyncio · CancelledError 异步超时 TimeoutError reschedule Python asyncio.timeout
用 Python asyncio.timeout 为异步操作建立结构化时限,讲清 CancelledError 到 TimeoutError 的转换边界、finally 清理,以及 reschedule 和 timeout_at 的动态期限用法。299 收藏 -
判断函数是否为 coroutine function,优先使用 inspect.iscoroutinefunction。本文区分 async def 函数、partial 包装、同步函数返回协程、async generator 与已经调用后的 coroutine 对象,避免把函数检查和结果检查混在一起。299 收藏 -
用 Python 标准库 MozillaCookieJar 把 Cookie 保存为 Mozilla cookies.txt 文件,并说明 save、load、会话 Cookie、过期 Cookie、覆盖写入和 urllib.request 接入时的边界。299 收藏 -
Python 装饰器把函数包装成 *args、**kwargs 后,inspect.signature 默认会沿着 __wrapped__ 找回原函数签名。本文说明 functools.wraps、follow_wrapped=False 和显式 __signature__ 的关系,并给出用 Signature.parameters 与 bind 做参数适配的写法。298 收藏 -
多个 asyncio 协程更新同一个计数时,读改写操作可能在 await 处交错,导致结果丢失。本文用 asyncio.Lock 和 async with 把共享更新放进同一临界区,并说明锁的释放、取消、线程同步和长耗时工作边界。296 收藏 -
讲清 Python asyncio.create_task 为什么要保存 Task 强引用,如何用集合和完成回调管理后台任务,以及何时改用 TaskGroup 统一等待和传播异常。296 收藏 -
文章 · python教程 | 7小时前 | 并发编程 · Python教程 · Python multiprocessing Pool initializer spawn initargs 多进程配置
Python multiprocessing 使用 spawn 时,父进程的可变全局变量不会自动成为子进程的可靠配置。本文用 Pool 的 initializer 和 initargs 传递小型可序列化配置,并说明主入口保护、资源创建、初始化失败和任务参数的边界。295 收藏 -
Python wave 向不可定位输出写WAV时,需在首块前确定准确帧数。本文解释PCM帧数公式,演示预声明后分块写入和完整数据一次写入,并说明未知长度与关闭责任。292 收藏 -
ContextDecorator 适合把上下文管理器复用为函数装饰器,但可变状态若留在共享实例上,重复调用就会相互污染。本文用一个可复用实现说明状态拆分、_recreate_cm、异常清理和显式 with 的选择。292 收藏 -
用批量清单示例说明 os.path.relpath 的路径计算、不检查文件存在的含义、显式 start 和当前目录差别,以及 POSIX、Windows 路径规则和跨驱动器异常。291 收藏 -
Python 标准库 statistics.quantiles 用 n 把数据划分为等概率区间,并返回 n-1 个分位数切点。本文说明 exclusive 与 inclusive 的选择、四分位数和百分位数的参数设置,以及空数据、样本量和 NaN 边界处理。291 收藏 -
Python logging 没有配置 handler 时不会简单地丢弃所有高等级日志,而会使用 logging.lastResort 兜底。本文拆解它的触发条件、WARNING 阈值、sys.stderr 输出以及显式 handler 的接管方式。289 收藏 -
围绕 asyncio.TaskGroup 解释任务失败、显式终止和外部取消时兄弟任务如何收到 CancelledError,并给出清理、异常聚合与回滚处理方式。289 收藏 -
Python inspect.getclosurevars 可以把函数依赖的外部名称拆成 nonlocals、globals、builtins 和 unbound。本文用原创闭包示例说明如何读取当前依赖值、发现未解析名称,并解释它在装饰器和运行时调试中的边界。288 收藏