在没有文件夹结构的python中压缩文件

我想用 python 在磁盘上的某个位置创建一些文件的 zip 文件。我成功获取了文件夹的路径和每个文件名,所以我这样做了:


with zp(os.path.join(self.savePath, self.selectedIndex + ".zip"), "w") as zip:

                for file in filesToZip:

                    zip.write(self.folderPath + file)

一切正常,但输出的 zip 文件包含通向文件的整个文件夹结构。有没有办法只压缩文件而不压缩文件夹?


萧十郎
浏览 110回答 2
2回答

达令说

从文档中:ZipFile.write(文件名,arcname =无,compress_type =无,compresslevel =无)将名为filename的文件写入存档,并为其指定存档名称arcname(默认情况下,这与 filename 相同,但没有驱动器号,并且删除了前导路径分隔符)。因此,只需指定一个显式的arcname:with zp(os.path.join(self.savePath, self.selectedIndex + ".zip"), "w") as zip:                 for file in filesToZip:                                     zip.write(self.folderPath + file, arcname=file)

UYOU

也许我误解了这个问题,但有人可以向我解释为什么答案不是:zip.write(file, arcname=os.path.basename(file))它对我有用,但同样,我可能在问题中遗漏了一些东西......
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python