为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

萧十郎 2023-07-18 16:56:39
我想用 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 文件包含通向文件的整个文件夹结构。有没有办法只压缩文件而不压缩文件夹?
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

从文档中:

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)


查看完整回答
反对 回复 2023-07-18
?
UYOU

TA贡献1878条经验 获得超4个赞

也许我误解了这个问题,但有人可以向我解释为什么答案不是:

zip.write(file, arcname=os.path.basename(file))

它对我有用,但同样,我可能在问题中遗漏了一些东西......


查看完整回答
反对 回复 2023-07-18
  • 2 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信