python教程技术文章
-
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 收藏 -
文章 · python教程 | 1星期前 | xml · Python教程 · Python SAX xml.sax.handler.ContentHandler characters XML文本解析
Python SAX 解析器可能把同一段字符拆成多次 characters() 回调。本文用 ContentHandler 的元素边界和文本缓冲区,说明怎样在普通元素与嵌套元素中收集完整文本。382 收藏 -
在 Tkinter 里,如果用循环批量创建 Frame,又在闭包里直接引用循环变量,结果往往会“跑偏”——所有事件绑定最后都会落到同一个 widget,也就是循环结束后的那个对象。更稳妥的处理方式,是通过事件对象里的 e.widget 在触发时动态拿到当前具体的控件,同时配合 bind(),而不是381 收藏 -
dataclasses.replace 会调用数据类的 __init__ 重建对象,而 InitVar 不保存在实例字段中。本文讲清无默认值时如何显式传参、有默认值时的回退行为、init=False 字段重算,以及何时应改用真实字段或自定义复制方法。381 收藏 -
Python 3.15 新增的 sentinel 类型适合表示“参数未提供”这一状态。本文从 None、object() 和类型注解的差异出发,给出默认值设计、身份判断、复制序列化和旧版本兼容的实用写法。381 收藏 -
本文详解 Python 中静态方法被装饰器包装后,通过 self.method() 调用导致意外传入 self 的根本原因,并提供兼容 descriptor 协议的安全包装方案。 本文详解 Python 中静态方法被装饰器包装后,通过 `self.method()` 调用导致意外传入 `self`380 收藏 -
Python 3.12 的 type 语句会创建 TypeAliasType。本文从普通赋值的歧义出发,说明如何声明类型别名、读取运行时元数据,并区分别名与 NewType 的边界。380 收藏 -
文章 · python教程 | 2个月前 | 并发 · 异常处理 · Python教程 · asyncio · Python asyncio CancelledError 结构化并发 TaskGroup gather ExceptionGroup
把 asyncio.gather 迁移到 TaskGroup,关键不是替换一个 API,而是重新确认失败传播、兄弟任务取消和 CancelledError 清理边界。本文用一个并发抓取示例说明最小迁移写法、ExceptionGroup 处理方式、兼容版本和回归检查。379 收藏 -
Python 的 csv.reader.line_num 统计的是已经读过的物理行数,不等于返回的记录数。本文结合带引号换行的 CSV 场景,说明 newline=""、记录序号、csv.Error 和业务字段校验如何配合定位坏记录。379 收藏 -
Python zoneinfo本身不携带时区数据库。本文说明系统TZPATH与tzdata回退顺序,给出精简容器和Windows的依赖配置、启动探测及异常处理方法。378 收藏 -
Python 3.12+ 优先用 autocommit 控制 sqlite3 事务;旧项目继续使用 isolation_level 时,要把隐式事务、显式 BEGIN、commit 和 rollback 的边界分清。378 收藏 -
用SQL命名占位符和Python字典绑定sqlite3查询,解释冒号与键名、缺键错误、None和NULL语义,以及参数值与表名列名的边界,附完整库存查询示例。378 收藏 -
Python 的 cache 与 lru_cache 不是同一种容量策略:前者等价于无限缓存,后者可用 maxsize 限制容量。本文用配置示例和 cache_info 排查命中率、键参数与失效边界。377 收藏 -
functools.cache 不会替你判断隐藏状态是否变化。递归函数要把完整输入放进缓存键,并用 cache_info 与 cache_clear 验证结果。377 收藏