python教程技术文章
-
文章 · python教程 | 4天前 | SQLite · 数据恢复 · sqlite3 · Python教程 · 数据库备份 · Python SQLite 数据库备份 sqlite3 Connection.serialize Connection.deserialize
用 Python sqlite3.Connection.serialize 导出内存或文件数据库快照,再用 deserialize 恢复到内存连接,讲清提交时机、备份窗口、内存占用和恢复校验。501 收藏 -
文章 · python教程 | 4天前 | 日志 · 标准库 · python · Python logging BufferingFormatter BufferingHandler MemoryHandler
用 Python logging.BufferingHandler 和 BufferingFormatter 把多条日志组成可读批次,讲清 shouldFlush、flush、header/footer 与关闭时的边界。481 收藏 -
Python dataclasses 使用 list、dict 等可变默认值时,必须用 field(default_factory=...) 为每个实例创建独立对象。本文用配置示例验证共享问题、嵌套工厂和迁移检查点。479 收藏 -
文章 · python教程 | 4天前 | 命令行 · Python教程 · Python 3.14 · 兼容性 · argparse · 命令行工具 argparse ArgumentParser Python 3.14 prog __main__
Python 3.14 调整 argparse.ArgumentParser 的默认程序名,让脚本、-m 模块和包入口显示更贴近真实启动方式。本文用三个启动场景核对帮助文本变化,并给出迁移时显式设置 prog 的兼容策略。436 收藏 -
Python 的 zipfile.Path 适合在不解压的情况下浏览 ZIP 目录和读取文件,但它不会替调用者清理归档内的路径。本文用目录判断、文件读取和安全落盘三个场景,拆开 Path 的使用边界、路径遍历校验与 ZipFile.extractall 的差异。113 收藏 -
Python 3.14 的 pathlib.Path.info 能复用文件类型信息,尤其适合 Path.iterdir() 后的批量判断;但它是缓存,不是实时状态。本文用目录扫描、文件变更和刷新 Path 三个场景说明怎么用、何时改回 is_dir/is_file,以及跨版本如何兼容。444 收藏 -
文章 · python教程 | 4天前 | Python教程 · pathlib · 运维脚本 · 文件系统 · 安全清理 · Python 符号链接 pathlib.Path.walk 目录清理 失败记录
Python 3.12 引入 pathlib.Path.walk 后,可以用底层目录遍历写清理脚本,但大型目录不能只调用 rmtree。本文从 top_down、follow_symlinks、失败回调和 dry-run 记录出发,给出可复核的清理流程。388 收藏 -
文章 · python教程 | 4天前 | 数据库 · SQLite · sqlite3 · Python教程 · 性能排查 · Python SQLite 连接复用 sqlite3 set_progress_handler 查询取消
SQLite 查询一旦遇到大表扫描或复杂排序,调用方往往只能等到语句结束。Python 的 sqlite3.Connection.set_progress_handler 可以按虚拟机指令间隔回调,让应用检查取消标记并主动中止长查询。本文用可复现示例说明回调频率、异常边界、连接复用和验收方式。289 收藏 -
文章 · python教程 | 5天前 | 并发 · 异常处理 · Python教程 · asyncio · Python 3.11 · Python asyncio CancelledError 结构化并发 TaskGroup gather ExceptionGroup
把 asyncio.gather 迁移到 TaskGroup,关键不是替换一个 API,而是重新确认失败传播、兄弟任务取消和 CancelledError 清理边界。本文用一个并发抓取示例说明最小迁移写法、ExceptionGroup 处理方式、兼容版本和回归检查。379 收藏 -
文章 · python教程 | 5天前 | 并发 · 线程 · python · queue · 故障排查 · 优雅停机 生产者消费者 Python queue.ShutDown Queue.shutdown 线程协作
Python 3.13 为 queue.Queue 增加了 shutdown() 和 ShutDown 异常。本文从生产者停止、消费者排空、阻塞线程唤醒和旧版本兼容四个边界出发,给出可验证的关闭写法。321 收藏 -
QueueHandler 能把业务线程与日志写盘拆开,但队列满载、监听线程退出和异常日志递归仍会让系统失去可观测性。本文从负载约束、方案取舍和验收指标出发,给出一套可落地的降级做法。164 收藏 -
TypeIs 和 TypeGuard 都能让类型检查器理解自定义谓词,但它们对 True、False 分支以及不变容器的处理并不相同。用可运行示例拆开选择边界。104 收藏 -
Python logging.Filter 不只是放行或丢弃日志;当过滤器修改 LogRecord 时,handler 之间可能互相污染上下文。本文用可运行示例拆开过滤边界、复制记录和验证方法。212 收藏 -
文章 · python教程 | 5天前 | 日志 · logging · Python教程 · 生产运维 · QueueHandler · Python 优雅停机 logging QueueHandler QueueListener 日志不丢
Python logging 使用 QueueHandler 和 QueueListener 后,停机阶段不能只调用 logging.shutdown() 就结束进程。本文用一个可运行的日志队列示例,拆解停止接收、等待队列排空、关闭监听器和异常兜底的顺序,给出生产环境可复查的验收方法。469 收藏 -
Python 3.13 新增 os.process_cpu_count(),它读取当前进程可用的逻辑 CPU 数,可能小于 os.cpu_count()。本文用容器配额和线程池示例拆开默认值、None 回退、显式 max_workers 与验收边界。197 收藏