python教程技术文章
-
Python 3.14 官方 macOS 与 Windows 二进制带有实验性 JIT。本文用 PYTHON_JIT 和 sys._jit 设计一次可回退的灰度检查,说明平台范围、观测项、第三方依赖风险以及为什么不应直接作为生产默认值。228 收藏 -
用 memoryview.cast 在不复制缓冲区的前提下读取固定长度二进制记录,重点检查格式字符串、C 连续布局、字节序与越界风险。226 收藏 -
用 Python csv.QUOTE_NOTNULL 区分 None 与空字符串,掌握写入、读取、版本兼容和回退检查,避免 CSV 导入时丢失空值语义。225 收藏 -
本文讲解如何在单词游戏中正确判断用户输入的新词是否作为连续子串出现在已有单词中,避免误判字母重排导致的错误拦截,核心是使用 Python 的 in 操作符进行原生子串匹配,并结合 any() 实现简洁高效的检查逻辑。 这段内容主要说明一件事:在单词游戏里,判断用户输入的新词是否合法,关键不是看字母能223 收藏 -
Python 的 webbrowser.open 适合把链接交给系统浏览器打开,但它不是 Selenium 或 Playwright,返回 True 也不代表页面加载成功。本文用最小示例拆开控制器选择、返回值和无界面环境的边界。223 收藏 -
Python 3.12 之后 sqlite3 的事务控制增加了 Connection.autocommit。本文用一组可运行的小实验区分 False、True 与 LEGACY_TRANSACTION_CONTROL,说明 commit、rollback、close 的实际边界,并给出旧代码迁移检查清单。221 收藏 -
临时目录清理最容易出问题的地方,不是调用 unlink,而是筛选条件太宽、相对路径越界和删错文件后无法复盘。用 pathlib 统一解析路径,按后缀和 mtime 过滤,先写入待删清单再处理,就能把一次性脚本变成可检查、可回退的清理流程。219 收藏 -
本文系统剖析NumPy中混合使用标量、列表/数组和切片时的索引行为,重点解释为何arr[2, :, 4]返回一维数组而arr[[2], :, [4]]返回二维数组,并阐明高级索引触发的维度重排机制与广播原则。 这段内容会把 NumPy 里标量、列表/数组与切片混合使用时的索引规则系统讲清楚,重点说明219 收藏 -
从大块数据跨进程复用的场景出发,讲清 Python multiprocessing.shared_memory 的缓冲区布局、名称附加、同步方式、close 与 unlink 责任,以及 resource tracker 边界。218 收藏 -
在 Python 3.15 项目中比较 TypeIs 与 TypeGuard:理解真分支、假分支、不兼容类型替换和 typing 版本选择。217 收藏 -
Python csv.DictReader 读取列数不整齐的 CSV 时,多余字段会进入 restkey,缺失字段会得到 None。本文用一组可复现的小例子说明如何校验表头、识别异常行并保留可追踪信息。215 收藏 -
用一个多模块请求场景说明 Python LoggerAdapter 如何把上下文交给 Handler 和 Formatter,重点处理字段缺失、重复 Handler 与 merge_extra 版本差异。215 收藏 -
文章 · python教程 | 1个月前 | 配置管理 · logging · 故障排查 · Python教程 · Python logging.config.dictConfig 日志热更新 disable_existing_loggers 日志回滚
Python 用 logging.config.dictConfig 更新日志配置时,最容易误伤已有日志器、重复打开文件句柄或留下半套配置。本文用可回滚的热更新流程拆解 disable_existing_loggers、incremental 和文件处理器的边界,并给出复查方法。214 收藏 -
Python frozen dataclass 保存派生字段时,应把计算放进 __post_init__,用 object.__setattr__ 完成初始化,并用 default_factory 和稳定字段顺序控制默认值与构造签名。213 收藏 -
subprocess.run 超时后会终止并等待直接子进程,不能在 TimeoutExpired 中继续判断它是否存活。需要观察超时边界时改用 Popen、poll 和 communicate,区分最近状态并安全回收输出。213 收藏