python教程技术文章
-
用 pathlib 和 os.path.commonpath 校验 ZIP 成员路径,结合文件类型、成员数量和解压后大小限制,写出可处理不可信压缩包的 Python zipfile 解压方案。449 收藏 -
Python subprocess 文本输出出现 bytes、中文乱码或空结果时,重点检查 text、encoding、errors、stdout、stderr 和 returncode 的边界,并给出可直接改造的排查示例。444 收藏 -
解释 Python 3.14 Path.info 的文件类型缓存何时可能变旧、iterdir() 如何提供初始信息,以及实时判断和重建 Path 对象的选择。438 收藏 -
本文说明 Python zip(strict=True) 会在最短输入耗尽后的下一次取值请求中抛出 ValueError,并分析参数顺序、额外消费与提前停止迭代的边界。437 收藏 -
Python csv.DictReader 遇到数据行缺列时默认用 restval 补齐。本文从表头、分隔符、编码和 newline 入手排查,并说明 restval、restkey、fieldnames 与必填字段校验的边界。434 收藏 -
文章 · python教程 | 3星期前 | 异常处理 · Python教程 · 兼容性 · ExceptionGroup Python contextlib.suppress BaseExceptionGroup except*
讲清 Python 3.12 contextlib.suppress 对 ExceptionGroup 的部分抑制语义,并给出 Python 3.11 except* 的兼容处理与测试边界。431 收藏 -
Python sqlite3 使用 :name 这类命名占位符时应传字典。本文解释 Python 3.14 的行为变化,并给出 execute、executemany 和回归检查的迁移写法。430 收藏 -
Python dataclasses.replace 会按原类型创建新实例,适合更新 frozen dataclass。本文说明字段覆盖、__post_init__、InitVar、init=False 和嵌套可变字段的实际边界。428 收藏 -
argparse 多子命令 CLI 中,公共参数可以先集中定义在 add_help=False 的父解析器,再通过 parents 传给每个子命令。本文用一个原创备份工具示例说明参数位置、-h 冲突、Namespace 合并和初始化顺序。427 收藏 -
Python 3.10 起可用 @dataclass(slots=True) 自动生成 __slots__,避免每个字段固定的小对象创建实例 __dict__。本文通过完整小项目对比批量实例内存,并说明序列化、继承、动态属性和弱引用的兼容边界。427 收藏 -
用 pathlib 先生成批量改名计划,检查目标冲突后再执行,并把成功映射写入 JSON 清单,方便在误改名或中途异常时按逆序回滚。422 收藏 -
用 csv.register_dialect() 为逗号、制表符和冒号等输入格式建立命名配置,说明 newline、参数覆盖、注册表清理与 csv.Error 的读取边界。421 收藏 -
文章 · python教程 | 3星期前 | 字符串处理 · Python教程 · Python 模板解析 Python 3.14 t-string string.templatelib template string
Python 3.14 的 template string(t-string)不会立即合并成普通字符串,而是保留静态片段和插值对象。本文从 f-string 迁移出发,演示如何用白名单、HTML 转义和显式格式处理构建受控模板解析器,并说明它与 SQL 参数化的边界。418 收藏 -
Python mmap 修改文件后,先确认使用 ACCESS_WRITE 共享映射,再调用 mmap.flush;如果要求更强的崩溃持久性,再对同一个文件描述符调用 os.fsync。本文说明 ACCESS_COPY、缓冲文件、局部刷盘和关闭顺序的边界。415 收藏 -
ExitStack 的关键不是设置参数,而是在资源获取后登记清理动作。本文说明 enter_context、callback、push、pop_all 的区别,并按生命周期排查资源未关闭、清理顺序错误、栈复用和异步混用问题。411 收藏