使用 Zipfile 模块重命名写入 zip 文件的文件 python

Rename files written to zip file using Zipfile module python

如何在不影响原始文件的情况下更改添加到 zip 文件的文件的文件名?

with ZipFile('myZip.zip', 'w') as zipObj2:
     for file in filelist:
         zipObj2.write(file)

我希望文件名是随机的,而不是实际名称。所以像

with ZipFile('myZip.zip', 'w') as zipObj2:
     for file in filelist:
         file.rename(os.urandom(10).hex())
         zipObj2.write(file)

ZipFile.write 方法有第二个参数,arcname,这是存档中文件的名称。所以像:

for file in filelist:
    zipObj2.write(file, os.urandom(10).hex())

将添加具有随机名称的文件。

Reference