如何在解压缩后保留压缩文件的名称?

dzhpxtsq  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(667)

我有一个叫zip的文件 model_A.zip ,将从 model_B.zip . 要压缩的原始文件夹 model_B.zip ,是 model_B . 我用 zipfile 提取它。

import zipfile
with zipfile.ZipFile('model_A.zip', "r") as zip_ref:
    zip_ref.extractall(path_to_unzip)

解压缩后,文件夹的名称变为 model_B/ . 然而,我想要的是 model_A/ . 我可以使用如下函数 shutil.move(model_B, model_A) ,但问题是我不知道解压后的文件夹名(如果 model_A.zip 重命名自 model_C.zip ,文件夹名为 model_C ).
有没有办法 model_A 没有额外的手术?

ivqmmu1c

ivqmmu1c1#

我从您的问题中得到的信息是,在zip文件中有一个top文件/目录。在提取之后或提取过程中,您希望重命名该文件/目录。如果您的目标是获取这个顶级文件的名称,那么下面的代码可能会有所帮助。提取完成后,可以重命名此文件/目录

with zipfile.ZipFile('model_A.zip', "r") as zip_ref:
topdir = zip_ref.namelist()[0]
    if(topdir[-1] == '/'):
        topdir = topdir[:-1]
        print(topdir)

相关问题