python教程技术文章
-
文章 · python教程 | 1星期前 | Python教程 · pathlib · 运维脚本 · 文件系统 · 安全清理 · Python 符号链接 pathlib.Path.walk 目录清理 失败记录
Python 3.12 引入 pathlib.Path.walk 后,可以用底层目录遍历写清理脚本,但大型目录不能只调用 rmtree。本文从 top_down、follow_symlinks、失败回调和 dry-run 记录出发,给出可复核的清理流程。388 收藏 -
Python sqlite3 中回滚失效,常见原因不是 rollback() 写错,而是提交时机、异常捕获范围和连接边界没有对齐。本文用订单写入示例拆开事务生命周期、异常复现、上下文管理器和嵌套调用的验收方法。387 收藏 -
Python 3.14 为 argparse 增加 suggest_on_error,可在 choices 或子命令拼写错误时给出相近提示。本文用一个备份命令行工具演示如何开启、如何兼容 Python 3.13 及更早版本,以及为什么它不能替代参数语义校验。386 收藏 -
用 Python 3.12+ 的 sys.monitoring 追踪函数调用,讲清工具 ID、事件掩码、回调签名、DISABLE 优化与旧版本回退边界。386 收藏 -
文章 · python教程 | 1星期前 | 并发 · 标准库 · 任务调度 · python · 多解释器 · 序列化 concurrent.futures Python解释器池 InterpreterPool 异常边界
Python 3.14 的解释器池让多个解释器在同一进程内并行运行,但解释器之间不共享可变对象。本文用一个可核对的小实验说明 submit、pickle 序列化、initializer 和异常传播的边界,并给出何时选线程池、解释器池或进程池的判断方法。384 收藏 -
文章 · python教程 | 1星期前 | 标准库 · python · pathlib · 安全校验 · 文件路径 · Python pathlib 路径校验 Path.relative_to walk_up
Python 3.12 为 pathlib.PurePath.relative_to 增加 walk_up 参数,可以生成带 .. 的相对路径,但它不会访问文件系统,也不能单独证明目标路径位于目录内。本文用 Path.resolve、relative_to 和 os.path.commonpath 拆开路径边界与符号链接风险。382 收藏 -
用 Python 线程池提交任务后,add_done_callback 适合做结果归档和状态收口,但不能替代 future.result() 的异常读取。本文拆开回调线程、取消状态、异常处理和 shutdown 时机,给出一套可复查的收尾写法。382 收藏 -
在 Tkinter 里,如果用循环批量创建 Frame,又在闭包里直接引用循环变量,结果往往会“跑偏”——所有事件绑定最后都会落到同一个 widget,也就是循环结束后的那个对象。更稳妥的处理方式,是通过事件对象里的 e.widget 在触发时动态拿到当前具体的控件,同时配合 bind(),而不是381 收藏 -
本文详解 Python 中静态方法被装饰器包装后,通过 self.method() 调用导致意外传入 self 的根本原因,并提供兼容 descriptor 协议的安全包装方案。 本文详解 Python 中静态方法被装饰器包装后,通过 `self.method()` 调用导致意外传入 `self`380 收藏 -
文章 · python教程 | 1星期前 | 并发 · 异常处理 · Python教程 · asyncio · Python 3.11 · Python asyncio CancelledError 结构化并发 TaskGroup gather ExceptionGroup
把 asyncio.gather 迁移到 TaskGroup,关键不是替换一个 API,而是重新确认失败传播、兄弟任务取消和 CancelledError 清理边界。本文用一个并发抓取示例说明最小迁移写法、ExceptionGroup 处理方式、兼容版本和回归检查。379 收藏 -
支付对账中出现 0.01 元差异时,先排除二进制浮点输入,再用 Decimal.quantize 和 ROUND_HALF_UP 固定金额舍入规则。本文从复现、定位到回归验证给出一套可运行的 Python 排查方案。374 收藏 -
Python 3.11 起可以用标准库 tomllib 读取 TOML,但读取成功不等于配置可用。本文从缺失键和类型不符两个现场入手,给出默认值、类型校验与错误定位的可复用写法。374 收藏 -
Python 生成器被提前停止时,close() 会通过 GeneratorExit 触发 finally,但未开始执行、被吞异常或引用仍存活等情况会改变清理结果。本文用可复现代码拆开这些边界。373 收藏 -
文章 · python教程 | 2个月前 | 日志 · 链路追踪 · Python教程 · contextvars · Python logging contextvars 日志追踪 trace_id 异步上下文
通过一个接口请求日志案例,演示如何用 contextvars 保存 trace_id,并通过 logging Filter 自动写入每条日志,适合同步和异步 Python 项目排查问题。370 收藏 -
Python 日志配置不只是把日志打印出来。本文对比 basicConfig、dictConfig 和分层输出,给出从本地脚本到多模块服务的选择边界、配置示例与验收方法。368 收藏