【问题标题】:Is there a way to change the name of the files extracted using zipfile in Python?有没有办法更改在 Python 中使用 zipfile 提取的文件的名称?
【发布时间】:2023-08-24 10:18:01
【问题描述】:

我正在尝试从 zip 文件夹中提取 csv 文件并选择其名称,因为它保存在新目录中。此代码可以很好地提取文件:

import zipfile
with zipfile.ZipFile(f'C:\\Users\\user\\Downloads\\{nombre_solar_zip}', 'r') as zip_ref:
    zip_ref.extractall('C:\\Users\\user\\\\work')

但是 zip 文件夹中的文件名在不断变化,所以我想更改名称以便阅读。有没有办法做到这一点?

【问题讨论】:

    标签: python zip zipfile


    【解决方案1】:

    您可以使用ZipFile.infolist 迭代成员,然后使用ZipFile.open 打开每个成员、读取和写入您选择的文件。

    加起来就是这样的:

    import zipfile
    with zipfile.ZipFile("/path/to/my-file.zip") as zip
        for member in zip.infolist():
            with zip.open(member, "r") as infile, open("new-file-name", "wb") as outfile:
                while True:
                    data = infile.read(chunk_size)
                    if not data:
                        break
                    outfile.write(data)
    

    【讨论】:

      最近更新 更多