python教程技术文章
-
文章 · python教程 | 6天前 | 日志 · python · 多进程 · Python QueueListener multiprocessing.Queue logging.QueueHandler
用 QueueHandler 把多进程日志交给 QueueListener 统一写出,重点处理 Queue 的关闭顺序、join_thread 阻塞和日志丢失排查。474 收藏 -
用 selectors.DefaultSelector 组织非阻塞 socket 的注册、读事件分发和连接关闭,重点看 EVENT_READ、select、unregister 与 close 的顺序边界。469 收藏 -
Python 动态调用函数时,inspect.signature、Signature.bind 和 BoundArguments.apply_defaults 可以把参数匹配从运行时报错提前到调用前校验。本文用一个命令分发场景拆开位置参数、关键字参数、缺省值和可变参数的边界。467 收藏 -
用 Python sqlite3.Connection.set_authorizer 在 SQL 进入 SQLite 编译阶段前拦截动作,理解 SQLITE_OK、SQLITE_DENY、SQLITE_IGNORE 的差异,并划清审计与安全边界。467 收藏 -
文章 · python教程 | 4天前 | 跨平台 · Python教程 · pathlib · 文件系统 · Python 3.14 跨平台路径 pathlib.Path.from_uri file URI 百分号编码
Python 3.14 的 pathlib.Path.from_uri() 用于把 file URI 转成路径对象。本文从 file: 前缀、百分号编码、localhost 主机名和 Windows UNC 边界出发,给出可验证的解析与异常处理示例。455 收藏 -
文章 · python教程 | 18小时前 | 性能优化 · python · Python教程 · 模块导入 · Python 3.15 lazy import PEP 810 惰性导入 __lazy_modules__
Python 3.15 通过 lazy import 和 __lazy_modules__ 提供显式惰性导入。本文说明代理对象、首次访问、错误后移、旧版本兼容与渐进接入边界,帮助命令行工具缩小启动阶段的依赖加载范围。453 收藏 -
用 decimal.Context.create_decimal_from_float 把 float 转成受控精度的 Decimal,比较 ROUND_DOWN、Inexact 陷阱与字符串输入的差异。451 收藏 -
当资源数量运行时才确定时,contextlib.ExitStack 可以把文件、锁和临时清理动作按进入顺序登记,并在退出时逆序回收。本文从一个批量读取小项目出发,说明 enter_context、callback 和异常路径的配合方式。441 收藏 -
文章 · python教程 | 6天前 | 并发 · 标准库 · 配置管理 · python · 版本升级 · 环境变量 并发安全 os.environ Python 3.14 os.reload_environ
Python 3.14 新增 os.reload_environ(),可以把进程外修改过的环境变量重新同步到 os.environ 与 os.environb。本文用配置热刷新场景拆开缓存来源、os.putenv 差异、线程安全边界和兼容版本写法。428 收藏 -
文章 · python教程 | 54分钟前 | 数据结构 · 缓存 · python · Python教程 · lru_cache 缓存键 Python 3.15 frozendict 不可变映射 PEP 814
Python 3.15 新增内置 frozendict。本文用 lru_cache 示例说明可哈希条件、顺序无关比较、合并更新,以及浅拷贝不会冻结嵌套可变值的边界。422 收藏 -
文章 · python教程 | 6天前 | 并发 · 异常处理 · python · 异步编程 · Python CancelledError 结构化并发 ExceptionGroup asyncio.TaskGroup
asyncio.TaskGroup 会在首个非取消异常出现后取消同组任务,并在退出时抛出 ExceptionGroup。本文用批量抓取场景拆开异常聚合、取消传播和结果收集边界,给出可复现的验收代码。414 收藏 -
用 pathlib.Path.resolve 规范化用户提供的文件名,并通过根目录边界校验拦截 .. 与符号链接带来的目录穿越风险。414 收藏 -
用 multiprocessing.shared_memory 让多个 Python 进程直接访问同一块缓冲区,重点处理 create、attach、close、unlink 的生命周期,以及命名冲突和释放验收。399 收藏 -
文章 · python教程 | 4天前 | 数据库 · SQLite · sqlite3 · Python教程 · Python SQLite 数据库查询 sqlite3.Row row_factory
Python sqlite3.Row 能让查询结果同时支持下标和列名访问,但它不会替你完成类型转换或空值判断。本文用同一个订单查询示例核对 row_factory、带类型的列值和 NULL 字段,说明如何在读取层保留清晰的边界。399 收藏 -
文章 · python教程 | 6天前 | 调试 · python · inspect · 函数调用 · 参数绑定 · Python 参数校验 关键字参数 inspect.Signature.bind BoundArguments
当函数参数来自字典或配置时,inspect.Signature.bind 可以在真正调用前完成参数绑定并把错误收敛为 TypeError。本文从一个小型回调分发器出发,演示 Signature.bind、BoundArguments 和 apply_defaults 的边界。393 收藏