python - 我可以使用 python 的 tarfile 包将快速查找索引存储到 tar 文件吗?
问题描述
我有一个大的 tar 存档并且正在使用 python (3.6+) 和tarfile
包。
如果我使用tar_info = tarfile.getmember(filename)
I can then call tarfile.extract(tar_info)
,但调用extract
速度很慢,似乎在扫描文件,在大型存档上需要几分钟时间。
我看到tar_info
对象中有一个偏移量,所以看起来这应该是一个快速的查找和读取操作。
我想知道是否有一种方法可以将索引存储到 tar 文件中,这样就可以快速查找和读取操作来提取任何特定文件,因为我在 tar 文件之外索引了必要的信息。
解决方案
这个 superuser.com 问题由 John Szakmeister 在评论中回答,谢谢!
https://superuser.com/questions/655739/extract-single-file-from-huge-tgz-file/655802#655802
简短的回答:如果您启用压缩,它会在 tar 存档中流式传输,而不是每个文件,所以答案是否定的。
推荐阅读
- mongodb - 如何使用 Cloudflare 工作人员在 MongoDB 中进行查询?
- selenium - selenium 4 中的相对定位器是什么,它有哪些类型?
- javascript - 添加日期选择器以过滤数据表中的数据
- c# - if 语句,如何阻止程序继续读取第一个正确的 if 或 else if 语句
- c# - 如何在 C# 中实现交互式决策树
- php - 无法在 array_push 中将时间戳转换为日期时间
- laravel - 如何解决 Facade\Ignition\Http\Middleware\IgnitionEnabled?
- node.js - 如何在 dms 中提及用户
- python-3.7 - 为什么我的 CSV 没有保存抓取的数据?
- c# - ASP.NET Core 3.0:命名空间中不存在类型或命名空间名称“CreateDefaultBuilder”