python教程技术文章
-
Python pathlib 处理相对路径时,应先固定根目录,再用 resolve 消除点段并解析符号链接,完成范围判断后再检查普通文件。本文给出可保留缺失、权限、越界和文件类型错误的运行手册。144 收藏 -
Python csv.DictReader 读取列数不稳定的 CSV 时,可以用 restkey 接住多余字段,用 restval 区分缺失字段,再结合行号和异常归档策略决定放行或拒绝。143 收藏 -
Python 包被压缩为 zip 后,使用 importlib.resources.files() 返回 Traversable,直接读取文本或二进制资源;只有下游 API 强制要求真实路径时,才用 as_file() 在上下文内临时获取 pathlib.Path。143 收藏 -
pathlib.glob 的 ** 会递归进入隐藏目录。本文用 Path.parts 过滤任意层级的隐藏目录,再补上文件类型、排序和符号链接边界,给出可复用的 Python 遍历函数。142 收藏 -
Python 3.12+ 可用类型参数语法改写通用类、函数和类型别名。本文用 Box[T]、first[T] 与 Pair[T] 说明迁移步骤,并列出 Python 3.11 兼容边界。132 收藏 -
InterpreterPoolExecutor 隔离的是工作解释器,不保证每次 submit 都获得全新解释器。本文说明如何用参数、函数局部状态和返回值避免任务串状态,并比较 initializer 与进程回收方案。130 收藏 -
从大文件生成器管道的三个常见故障入手,讲清同步按需拉取的背压边界、提前停止时的关闭级联,以及保留行号和原始原因的异常传播写法。126 收藏 -
multiprocessing.Queue 的 close() 不会立刻杀掉 feeder thread,它还要把缓冲数据刷入 pipe。本文解释 close、join_thread 与 cancel_join_thread 的边界,并给出避免进程退出卡住的关闭顺序。125 收藏 -
讲清 Python 3.13+ asyncio.Queue shutdown(False) 与 shutdown(True) 下 put、get、join 等待者的唤醒结果,以及消费者的安全收尾写法。124 收藏 -
Python 3.14 新增的 asyncio pstree 可以从任务树和 coroutine stack 定位未结束的 await 分支。本文用带任务名的 TaskGroup 示例说明如何取得 PID、读取 pstree、在 await 图循环时切换 ps,并整理平台与权限检查边界。120 收藏 -
从最小 dataclass(slots=True) 写法出发,说明固定字段布局、动态属性限制、继承重复字段、weakref_slot 与 fields() 的边界,给出迁移和验收清单。118 收藏 -
讲清 Python http.client 中 HTTPResponse 与 HTTPConnection 的关闭责任,给出完整读取、with 语句、异常收口和连接复用的实用模板。116 收藏 -
用 dataclasses.field(default_factory=...) 为每个实例创建独立的列表、字典或集合默认值,避免可变对象共享并保留类型提示。114 收藏 -
Python subprocess 超时不会自动终止子进程。本文按 POSIX 与 Windows 分开说明进程组建立、超时后的树级终止、管道回收和验证边界,给出可改造的 Popen 清理示例。108 收藏 -
使用 csv.DictReader 的 restkey 和 restval 明确处理 CSV 的额外列与缺失列,再结合必填校验和空字符串判断,避免导入数据把结构异常静默吞掉。105 收藏