我有一个包含10个* .tar文件的文件夹(dataset_folder)。
这是我的代码,用于在特定路径中提取它们。
listtar=glob.glob(dataset_folder+'/*.tar')
for file in listtar:
tar=tarfile.open(file)
tar.extractall(path=dataset_folder)
tar.close()
请注意,dataset_folder位于当前目录下。
我得到一个错误
ReadError: unexpected end of data
另请注意,我可以手动解压缩文件而不会出现问题。
最佳答案
直接从Python处理损坏的文件,捕获相关异常并跳过损坏的文件:
listtar=glob.glob(dataset_folder+'/*.tar')
for file in listtar:
try:
with tarfile.open(file) as tar:
tar.extractall(path=dataset_folder)
except tarfile.ReadError:
print("File {} is corrupt".format(file))
关于python - 使用python提取tarfile列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49984765/