tarfile
似乎有缓存
getmember
,它重复使用
getmembers()
结果。
但是如果你使用提供的剪切
getitem
,然后对于数据集中的每个项目,tar文件打开并完全读取,提取一个图像文件,然后关闭tar文件并丢失相关信息。
解决此问题的最简单方法可能是打开数据集中的tar文件
init
喜欢
self.tf = tarfile.open(‘data.tar’)
,但是你需要记住最后关闭它。