遍历 tarfile 文件夹

时间:2021-05-03 18:02:21

标签: python archive zipfile tarfile

我正在尝试解决一个问题,即在档案存档中找到特定的文本文件(但我现在只有 zip 和 tar)。我有以下代码,它适用于 zip,并且我已经设法遍历 zip,但是对于 tar 文件夹,它给了我一个错误,它无法找到我的文件。老实说,我不知道该怎么做,是的,我已经尝试阅读文档。

import os
import zipfile
import pathlib
import sys
import time
import rarfile
import tarfile


def open_zip(files: zipfile.ZipFile):
    for i in range(len(files.namelist())):
        if files.namelist()[i].lower().endswith('.txt'):
            read_txt(files.open(files.namelist()[i]))
            # temp = open(temp_path)
            # if len(read_txt(temp)) == 34:
            #     print(read_txt(temp))
        elif files.namelist()[i].lower().endswith('.zip'):
            print(files.namelist()[i])
            temp_zip = files.open(files.namelist()[i])
            temp_zip_new = zipfile.ZipFile(temp_zip)
            open_zip(temp_zip_new)
        elif files.namelist()[i].lower().endswith('.tar'):
            print(files.namelist()[i])
            print(tarfile.is_tarfile(files.namelist()[i]))
            temp_rar_2 = tarfile.open(files.namelist()[i])
            temp_zip_rar = files.open(files.namelist()[i])
            temp_rar = tarfile.TarFile.open(files.namelist()[i])
            print(temp_rar)
            #print(type(temp_rar))
            # temp_rar_new = tarfile.TarFile(temp_rar)
            #open_rar(temp_rar)


temp = zipfile.ZipFile("/Users/arsen/Downloads/447509d6ee8b4cbaa96e3153ddddd7ba.zip")
open_zip(temp)

0 个答案:

没有答案
相关问题