mozfile — Mozilla 测试中使用的文件实用程序

mozfile 是一个方便的库,用于处理自动化测试中一些常见的文件相关任务,例如提取文件或递归删除目录。

mozfile.extract(src, dest=None, ignore=None)

接收一个 tar 或 zip 文件并将其提取到 dest

如果未指定 dest,则提取到 os.path.dirname(src)

返回已提取的顶级文件的列表

mozfile.extract_tarball(src, dest, ignore=None)

提取 .tar 文件

mozfile.extract_zip(src, dest, ignore=None)

提取 zip 文件

mozfile.move(src, dst)

移动文件或目录路径。

这是 shutil.move 的替代方案,在 Windows 下效果更好,它会重试某些已知错误的操作,这些错误是由于各种因素导致文件路径被占用。

mozfile.remove(path)

删除指定的文件、链接或目录树。

这是 shutil.rmtree 的替代方案,在 Windows 下效果更好。它执行以下操作

  • 在尝试删除之前检查当前用户对路径的访问权限

  • 重试某些已知错误的操作,这些错误是由于各种因素导致文件路径被占用 - 例如资源管理器、病毒扫描程序等。已知错误是 errno.EACCES 和 errno.ENOTEMPTY,它将最多重试 5 次,每次尝试之间延迟 (failed_attempts * 0.5) 秒。

请注意,如果给定路径不存在,则不会引发任何错误。

参数:

path – 要删除的路径