python教程技术文章
-
Python 3.14 的自由线程构建取消了 GIL 的全局串行效果,共享字典、计数器和迭代器不能再靠偶然的执行顺序兜底。本文用一个带锁的共享计数器说明检测运行时、划定临界区、处理扩展兼容和压力验证的完整做法。337 收藏 -
使用 importlib.resources.files() 获取 Traversable 后,可通过 joinpath、iterdir、is_file 和 read_text 读取包内目录。本文同时说明 zip 包兼容、as_file 目录支持与旧 contents API 的迁移边界。359 收藏 -
拆开 Python sqlite3.Connection.backup 的 progress 回调,解释 status、remaining、total 的含义,并给出进度计算、批量大小和资源回收的实用写法。325 收藏 -
Python 可用 zoneinfo.reset_tzpath 在运行时切换 IANA 时区数据目录,但路径必须为绝对路径,且切换不会自动清空 ZoneInfo 缓存。本文给出完整代码,并比较 reset_tzpath、PYTHONTZPATH 与 tzdata 的适用场景。176 收藏 -
InterpreterPoolExecutor 隔离的是工作解释器,不保证每次 submit 都获得全新解释器。本文说明如何用参数、函数局部状态和返回值避免任务串状态,并比较 initializer 与进程回收方案。130 收藏 -
本文说明 Python zip(strict=True) 会在最短输入耗尽后的下一次取值请求中抛出 ValueError,并分析参数顺序、额外消费与提前停止迭代的边界。437 收藏 -
Python 3.13 新增 typing.get_protocol_members,可返回 Protocol 定义及继承得到的成员名称 frozenset。本文通过一次成员探测故障复盘,说明正确读取、稳定排序、泛型别名边界、TypeError 处理和旧版本兼容写法。487 收藏 -
Python tomllib 会把 TOML 日期时间字面量直接转换成 datetime、date 或 time。本文说明四类映射、时区差异、引号陷阱,以及业务校验和 JSON 导出时的正确处理方式。104 收藏 -
Python SpooledTemporaryFile 可调用 rollover() 在未超过 max_size 时主动迁移到磁盘临时文件。本文用完整示例说明手动落盘、文件指针保持、fileno() 隐式触发和自动清理边界。307 收藏 -
解释 Python 3.14 Path.info 的文件类型缓存何时可能变旧、iterdir() 如何提供初始信息,以及实时判断和重建 Path 对象的选择。438 收藏 -
讲清 Python 3.13+ asyncio.Queue shutdown(False) 与 shutdown(True) 下 put、get、join 等待者的唤醒结果,以及消费者的安全收尾写法。124 收藏 -
asyncio.Barrier 中的等待任务被取消时不会自动把屏障置为 broken;filling 阶段的 n_waiting 会减少,调用方要根据剩余参与者选择补位、abort 或 reset。166 收藏 -
Python 的 asyncio.TaskGroup 没有原生 terminate 方法。本文按官方方案演示如何加入一个抛出专用异常的任务,让其余成员协作取消,并用 except* 精确处理终止信号。242 收藏 -
Python sqlite3.Connection.backup 可以在 SQLite 数据库仍被访问时复制一致快照。本文给出最小写法,说明 pages、sleep、progress、锁等待与目标校验的配合方式。264 收藏 -
用 Python zipfile.Path 像操作目录一样遍历 ZIP,掌握根路径、iterdir 递归、文件读取,以及不可信成员名的安全边界。370 收藏