python教程技术文章
-
文章 · python教程 | 3星期前 | 文件操作 · Python教程 · pathlib · 符号链接 目录复制 Python pathlib Path.copy Path.copy_into preserve_metadata
Python 3.14 的 pathlib.Path.copy 与 copy_into 解决了路径对象复制的表达问题,但二者对目标参数的含义不同。本文用备份目录场景说明如何保留源目录名、处理目标已存在、控制元数据与符号链接,并给出旧版本兼容边界。282 收藏 -
用 dataclasses.replace 修改 Python dataclass 时,按字段声明、InitVar、init=False 和 __post_init__ 的边界排查常见 TypeError 与 ValueError,并掌握返回新对象的正确写法。282 收藏 -
Python sqlite3 的 autocommit、isolation_level 与 with con 分别控制什么?本文按请求级写入、单语句提交和显式写锁场景对比三种事务模式,给出自动提交回滚、连接关闭、SAVEPOINT 与旧代码迁移方案。279 收藏 -
Path.resolve 遇到不存在路径时,默认 strict=False 会尽可能解析并保留剩余路径;必须确认文件存在时使用 strict=True 或 exists(),并区分 FileNotFoundError 与其他 OSError。278 收藏 -
文章 · python教程 | 3星期前 | 资源管理 · python · Python memoryview memoryview.release Python 缓冲区协议 bytearray BufferError mmap 资源释放
Python memoryview 不会复制底层数据,但会持有缓冲区导出,导致 bytearray 无法调整大小或映射资源无法关闭。本文用 release、with 和派生视图示例说明正确的释放边界,并区分视图释放与底层文件资源关闭。275 收藏 -
本文区分 DictWriter 中缺少列与多余键的处理方式,演示 extrasaction='raise' 和 'ignore',并说明 restval 如何补齐真正缺少的字段。274 收藏 -
围绕 Python NamedTemporaryFile 说明 delete 与 delete_on_close 的生命周期差异,给出需要重开临时文件时的跨平台写法,并梳理 Windows 权限和异常清理边界。274 收藏 -
对比 Python multiprocessing 的 forkserver 与 spawn,说明平台支持、资源继承、pickle 约束、默认值和部署边界,并给出可直接验证的配置示例。271 收藏 -
Python json.loads 默认会接受 NaN、Infinity 和 -Infinity。本文说明 parse_constant 的拒绝方式、历史数据归一化边界,以及接口层如何区分无效数字和真实缺失值。267 收藏 -
Python sqlite3.Connection.backup 可以在 SQLite 数据库仍被访问时复制一致快照。本文给出最小写法,说明 pages、sleep、progress、锁等待与目标校验的配合方式。264 收藏 -
文章 · python教程 | 2星期前 | 并发 · 线程池 · 异常处理 · python · Python threadpoolexecutor future concurrent.futures
用 Python concurrent.futures 构建一个可收口的线程池任务批次,演示如何按完成顺序收集 Future 异常、取消排队任务并关闭执行器。262 收藏 -
讲清 Python free-threaded 构建中 C 扩展的兼容声明:多阶段初始化使用 Py_mod_gil,单阶段初始化使用 PyUnstable_Module_SetGIL,并区分容器临界区与扩展自有状态保护。260 收藏 -
用 Python tomllib 读取 TOML 配置,掌握 load 与 loads 的入口区别、嵌套类型映射、parse_float=Decimal 的精度选择,以及语法错误和业务校验的边界。259 收藏 -
讲清 Python dataclass 的 frozen=True 为什么仍能保存可变缓存,并用 default_factory、init=False、compare=False 和 hash=False 设计按实例隔离的内部缓存。256 收藏 -
Python 的 typing.Protocol 主要服务静态结构化类型检查;即使加上 @runtime_checkable,isinstance() 也只适合确认属性是否存在,不会验证方法签名、参数类型、返回类型和业务行为。本文用代码拆开两种检查的边界,并给出运行时补强方案。254 收藏