python教程技术文章
-
文章 · python教程 | 3星期前 | Python教程 · pathlib · 文件系统 · Python 目录权限 Python 3.15 pathlib.Path.mkdir parent_mode
Python 3.15 为 pathlib.Path.mkdir 增加 parent_mode,让递归创建目录时可以分别设置叶目录和中间目录的模式。本文解释 mode、parent_mode、parents 与 umask 的边界,并给出兼容旧版本的写法与验证清单。243 收藏 -
Python 的 asyncio.TaskGroup 没有原生 terminate 方法。本文按官方方案演示如何加入一个抛出专用异常的任务,让其余成员协作取消,并用 except* 精确处理终止信号。242 收藏 -
Python 3.15 的 PEP 798 让列表、集合、字典推导式和生成器支持 *、** 解包。本文用等价循环解释展开、去重、键覆盖、惰性求值和变量作用域边界,并给出兼容旧版本的落地写法。241 收藏 -
Python 3.13 已将 typing.AnyStr 标记为弃用,官方建议改用新的类型参数语法。本文用字符串与字节串函数拆解迁移写法、运行版本和静态检查门禁。238 收藏 -
Python 3.13 新增的 copy.replace() 适合给 dataclass、namedtuple 和自定义 __replace__ 对象生成字段变体。本文用订单配置场景说明它与 copy.copy、deepcopy、dataclasses.replace 的边界,并给出兼容检查和测试方法。237 收藏 -
比较 Python asyncio.gather 与 TaskGroup 在异常传播、兄弟任务取消、结果收集和资源清理上的差异,给出按业务边界选择异步并发 API 的判断清单。237 收藏 -
用 Python RotatingFileHandler 按文件大小轮转日志,理解 maxBytes、backupCount、app.log.1 命名链,以及多进程写入时的安全边界。236 收藏 -
从 setup.py 迁移到 pyproject.toml 时,先划分构建后端、静态元数据和动态配置,再用 sdist、wheel、普通安装与 editable 安装逐项回归。236 收藏 -
跨平台使用 pathlib 读写文本时,显式设置 encoding,结合 BOM、原始字节和 errors 策略排查乱码与 UnicodeDecodeError,并保持读取和写回的编码契约。235 收藏 -
Python 异步服务需要把 request_id、租户或用户上下文带进子任务时,contextvars 能保持 Task 隔离,但跨线程不会自动复制。本文用可复现的边界检查说明 copy_context、to_thread 与日志关联的正确用法。234 收藏 -
Python 3.13 为 asyncio.Queue 增加 shutdown() 和 QueueShutDown。本文用一个异步任务队列示例说明平滑停机、join()、task_done() 与 immediate=True 的边界。233 收藏 -
介绍 Python tarfile 的 extraction_filter、data_filter 和自定义过滤器,说明如何阻止危险路径、越界链接与不必要的归档元数据,并处理版本兼容和部分解包清理。232 收藏 -
排查 asyncio TaskGroup 失败时,区分 ExceptionGroup、兄弟任务取消和清理阻塞,使用 except* 分类处理,并正确传播 CancelledError。231 收藏 -
asyncio.timeout_at 用事件循环时钟表达绝对截止时间,适合把多个异步步骤放进同一时间预算。本文从最小写法出发,说明 TimeoutError 的捕获位置、取消语义、嵌套超时和 wait_for 的边界。230 收藏 -
Python datetime 的 fold=0 和 fold=1 可以区分夏令时回拨产生的两次相同本地时间。本文说明 ZoneInfo 的用法,以及比较、存储和春季 gap 的处理边界。230 收藏