python教程技术文章
-
讲清 Python tarfile 解压前如何检查成员路径,拒绝绝对路径、..、盘符路径和链接,并用 filter=data 与临时目录降低越界写入风险。394 收藏 -
用 Python typing.TypeIs 编写类型谓词,理解真分支取交集、假分支排除目标类型的规则,并判断哪些列表场景仍应保留 TypeGuard。396 收藏 -
用 Python ContextVar 在 asyncio 异步任务间传递 request_id,讲清 set、get、reset、create_task 上下文复制、copy_context 和日志排查边界。335 收藏 -
比较 Python asyncio.gather 与 TaskGroup 在异常传播、兄弟任务取消、结果收集和资源清理上的差异,给出按业务边界选择异步并发 API 的判断清单。237 收藏 -
Python sqlite3 使用 :name 这类命名占位符时应传字典。本文解释 Python 3.14 的行为变化,并给出 execute、executemany 和回归检查的迁移写法。430 收藏 -
文章 · python教程 | 1星期前 | 文件操作 · Python教程 · pathlib · 符号链接 目录复制 Python pathlib Path.copy Path.copy_into preserve_metadata
Python 3.14 的 pathlib.Path.copy 与 copy_into 解决了路径对象复制的表达问题,但二者对目标参数的含义不同。本文用备份目录场景说明如何保留源目录名、处理目标已存在、控制元数据与符号链接,并给出旧版本兼容边界。282 收藏 -
Python 3.14 新增的 asyncio pstree 可以从任务树和 coroutine stack 定位未结束的 await 分支。本文用带任务名的 TaskGroup 示例说明如何取得 PID、读取 pstree、在 await 图循环时切换 ps,并整理平台与权限检查边界。120 收藏 -
Python 3.14 新增的 InterpreterPoolExecutor 能让多个独立解释器并行执行任务。本文用一个可复用的 CPU 密集型示例说明任务拆分、参数传递、Future 收集、异常处理和兼容性取舍。180 收藏 -
文章 · python教程 | 1星期前 | 字符串处理 · Python教程 · Python 模板解析 Python 3.14 t-string string.templatelib template string
Python 3.14 的 template string(t-string)不会立即合并成普通字符串,而是保留静态片段和插值对象。本文从 f-string 迁移出发,演示如何用白名单、HTML 转义和显式格式处理构建受控模板解析器,并说明它与 SQL 参数化的边界。418 收藏 -
Python sqlite3 默认返回 tuple。本文用 sqlite3.Row 和自定义 dict_factory 演示如何按命名字段读取查询结果,并说明连接级配置、列别名和已有游标的边界。480 收藏 -
同一个 Python logger 同时输出控制台和审计日志时,handler 级 Filter 可以返回 LogRecord 副本,只给目标 handler 增加字段,避免污染其他输出。391 收藏 -
subprocess.run 超时后会终止并等待直接子进程,不能在 TimeoutExpired 中继续判断它是否存活。需要观察超时边界时改用 Popen、poll 和 communicate,区分最近状态并安全回收输出。213 收藏 -
Python 的 typing.Protocol 主要服务静态结构化类型检查;即使加上 @runtime_checkable,isinstance() 也只适合确认属性是否存在,不会验证方法签名、参数类型、返回类型和业务行为。本文用代码拆开两种检查的边界,并给出运行时补强方案。254 收藏 -
Python dataclasses.replace 会按原类型创建新实例,适合更新 frozen dataclass。本文说明字段覆盖、__post_init__、InitVar、init=False 和嵌套可变字段的实际边界。428 收藏 -
Python queue.Queue 的 join() 卡住,通常不是队列里还有元素,而是消费者取走任务后少调用了 task_done()。本文解释未完成计数,给出 finally 配对写法、异常处理和停机复查清单。484 收藏