确定解压缩文件的文件名

时间:2017-12-22 09:01:43

标签: python python-3.x unzip

假设您使用file123.zip解压缩名为zipfile.ZipFile的文件,这会将解压缩的文件保存到已知路径。但是,此解压缩文件具有完全随机的名称。你如何确定这个完全随机的文件名?或者有什么方法可以控制解压缩文件的名称是什么? 我试图在python中实现它。

2 个答案:

答案 0 :(得分:0)

通过“random”我假设您的意思是文件是任意命名的。

您可以使用ZipFile.read()解压缩文件并将其内容作为字节串返回。然后,您可以将该字符串写入您选择的命名文件。

from zipfile import ZipFile

with ZipFile('file123.zip') as zf:
    for i, name in enumerate(zf.namelist()):
        with open('outfile_{}'.format(i), 'wb') as f:
            f.write(zf.read(name))

这会将存档中的每个文件写入当前目录中名为output_n的文件。存档中包含的文件名称是使用ZipFile.namelist()获得的。我使用enumerate()作为生成文件名的简单方法,但是,您可以用您需要的任何命名方案替换它。

答案 1 :(得分:0)

如果文件名是完全随机的,您可以先使用os.listdir()检查特定目录中的所有文件名。现在你知道了文件名,可以用它做任何你想做的事情:)

有关详细信息,请参阅this主题。