python教程技术文章
-
Python 的 tarfile 不是把归档直接解开就完事:本文用一个可运行的临时目录示例,拆解成员路径检查、data_filter、部分解压后的清理,以及 Python 3.12 到 3.14 的兼容写法。354 收藏 -
用 Python 线程池提交任务后,add_done_callback 适合做结果归档和状态收口,但不能替代 future.result() 的异常读取。本文拆开回调线程、取消状态、异常处理和 shutdown 时机,给出一套可复查的收尾写法。382 收藏 -
用一个可运行的消息格式化例子拆解 functools.singledispatch:默认实现、register 注册、按第一个参数类型 dispatch,以及继承匹配和调试边界。161 收藏 -
用 Python pathlib.Path.rename 完成文件改名时,同名目标在 Windows 与 Unix 上的行为并不一样。本文从预检查、临时名切换和失败回滚三个环节,给出可复现的安全改名脚本。182 收藏 -
Path.resolve() 和 Path.absolute() 都能得到绝对路径,但遇到软链接、不存在文件和 strict 参数时结果不同。本文用一个可复现的 pathlib 场景拆开两者的边界,并给出选择方法。362 收藏 -
用 collections.deque 的 maxlen、append 和 popleft 实现只保留最近事件的定长窗口,并核对窗口统计、空队列和并发边界。159 收藏 -
Python heapq.merge 可以把多个已经排好序的日志流合并成一个惰性迭代器。本文用时间戳日志说明 key、reverse、内存占用和乱序输入的真实边界。167 收藏 -
Python logging.Filter 可以在 LogRecord 交给处理器前补充请求上下文。本文用 trace_id 和 operator 两个字段演示过滤器挂载位置、Formatter 字段匹配、多处理器分流及缺失字段的安全处理。187 收藏 -
文章 · python教程 | 3天前 | 并发 · 标准库 · 任务调度 · python · 多解释器 · 序列化 concurrent.futures Python解释器池 InterpreterPool 异常边界
Python 3.14 的解释器池让多个解释器在同一进程内并行运行,但解释器之间不共享可变对象。本文用一个可核对的小实验说明 submit、pickle 序列化、initializer 和异常传播的边界,并给出何时选线程池、解释器池或进程池的判断方法。384 收藏 -
weakref.finalize 适合为文件句柄、临时目录等资源安排对象回收后的兜底动作,但回调参数、存活引用和解释器退出阶段都有明确边界。本文用可运行的小例子拆解注册、触发、detach 与 atexit 行为。200 收藏 -
asyncio.Queue 适合在协程之间传递有界任务,但只创建队列并不能自动解决背压和停机。本文用真实的生产者、消费者和关闭信号示例,说明 maxsize、put、task_done、join 的配合边界,以及如何让队列在停止时不丢任务。152 收藏 -
用 asyncio.Semaphore 控制批量协程的并发上限,再配合 asyncio.wait_for 和 gather(return_exceptions=True) 区分超时、成功与失败,让任务在单次请求异常后仍能继续收敛。339 收藏 -
文章 · python教程 | 3天前 | 数据库 · python · 备份 · SQLite · Python sqlite3 Connection.serialize Connection.deserialize 内存快照
用 Python sqlite3.Connection.serialize 把内存数据库导出为 bytes,再用 deserialize 恢复到新连接;文章说明提交时机、main 数据库、SQLite 能力和快照边界。167 收藏 -
argparse 默认解析器遇到多个位置参数和选项交错时,参数归属容易让人误判。本文用 parse_intermixed_args 对比普通 parse_args,说明它的工作边界、子解析器限制和互斥组兼容性。114 收藏 -
Python 动态调用函数时,inspect.signature、Signature.bind 和 BoundArguments.apply_defaults 可以把参数匹配从运行时报错提前到调用前校验。本文用一个命令分发场景拆开位置参数、关键字参数、缺省值和可变参数的边界。467 收藏