python教程技术文章
-
Python 日志重复打印通常不是 logger 调用了两次,而是同一条记录沿父子层级交给多个 handler。本文用最小示例拆开 propagate、handler 和配置初始化顺序,给出可复现的排查与修复方法。139 收藏 -
Python sqlite3 事务回滚经常不是数据库坏了,而是连接的 autocommit、旧式 isolation_level 与 with 代码块边界没有对齐。用一个可复现实验看清提交、回滚和异常传播。136 收藏 -
Python 3.12 引入的 pathlib.Path.walk 适合做目录统计、缓存清理和文件审计。本文用一个临时目录清理任务讲清 top_down、dirnames 剪枝、on_error 与符号链接边界,并给出兼容旧版本的选择。135 收藏 -
Python multiprocessing.Pool 在服务停机时如果没有区分 close、terminate 和 join,主进程可能已经退出流程,子进程却仍然占着资源。本文用批处理场景复现停机卡住、按顺序解释三个方法的职责,并给出异常、超时和回滚检查清单。133 收藏 -
itertools.batched 会惰性地把迭代器分成固定大小的元组,但默认允许最后一批不足 n。本文用订单编号批处理示例说明 strict=True 何时抛出 ValueError、如何选择补齐或拒绝,以及怎样验收没有静默漏数据。133 收藏 -
本文用标准库 dataclass 写一套轻量配置加载方案,演示默认值、环境变量覆盖、类型转换和启动校验,避免服务上线后才发现端口、数据库地址或超时参数写错。131 收藏 -
Python 项目里相对路径不稳定,通常不是 pathlib 的问题,而是把当前工作目录 cwd 和脚本位置 __file__ 混在了一起。本文用配置文件读取与 pytest 临时目录示例,拆开两种路径基准,并给出可验收的写法。131 收藏 -
文章 · python教程 | 1个月前 | 字符串 · 标准库 · 模板 · python · Python 3.14 · Template Python 3.14 t-string string.templatelib PEP 750
Python 3.14 的 t-string 仍使用花括号插值,但结果是可检查的 Template,而不是已经拼好的 str。掌握 strings、interpolations、conversion 与 format_spec 的边界,才能把它用于日志、HTML 或领域文本处理。121 收藏 -
Python3.12安装后cmd报“不是内部或外部命令”主因是PATH未正确配置,安装时必须勾选“Addpython.exetoPATH”,否则需手动添加安装目录及Scripts路径到系统环境变量。119 收藏 -
VSCode中Python插件无法识别解释器、模块导入失败、调试断点无效及中文乱码等问题,根源在于解释器路径未正确配置、虚拟环境未激活、launch.json配置错误或终端/文件编码不一致,需按系统差异逐一排查。117 收藏 -
argparse 默认解析器遇到多个位置参数和选项交错时,参数归属容易让人误判。本文用 parse_intermixed_args 对比普通 parse_args,说明它的工作边界、子解析器限制和互斥组兼容性。114 收藏 -
Python 的 zipfile.Path 适合在不解压的情况下浏览 ZIP 目录和读取文件,但它不会替调用者清理归档内的路径。本文用目录判断、文件读取和安全落盘三个场景,拆开 Path 的使用边界、路径遍历校验与 ZipFile.extractall 的差异。113 收藏 -
文章 · python教程 | 1个月前 | 面向对象 · python · 后端开发 · dataclass · default_factory · Python Field 可变默认值 dataclass default_factory 列表字段
dataclass 里的 list、dict、set 不能直接当默认值:当前 Python 会把常见的不可哈希默认值拦成 ValueError。应使用 field(default_factory=list) 在每次创建实例时生成新列表;当默认值来自配置或需要延迟构造时,也要分清工厂函数、浅拷贝和 None 的语义。111 收藏 -
通过外部 API 调用场景,演示 Python requests 如何设置 connect/read 超时、复用 Session 连接池、配置重试策略,并记录日志定位慢请求。105 收藏 -
TypeIs 和 TypeGuard 都能让类型检查器理解自定义谓词,但它们对 True、False 分支以及不变容器的处理并不相同。用可运行示例拆开选择边界。104 收藏