如何在Python中使用Zipfile压缩具有扁平目录结构的文件?
我正在使用Python中的如何在Python中使用Zipfile压缩具有扁平目录结构的文件?,python,python-2.7,Python,Python 2.7,我正在使用Python中的ZipFile包压缩文件。这是我的密码: archive = zipfile.ZipFile(join(settings.ARCHIVES_DIR, 'test.zip'), "a") for pdffile in glob.glob(join(settings.IBILLING_DIR, '*.pdf')): archive.write(pdffile) archive.close() 我面临的问题是,创建的ZIP文件包含一个目录结构。添加的文件以完整路
ZipFile
包压缩文件。这是我的密码:
archive = zipfile.ZipFile(join(settings.ARCHIVES_DIR, 'test.zip'), "a")
for pdffile in glob.glob(join(settings.IBILLING_DIR, '*.pdf')):
archive.write(pdffile)
archive.close()
我面临的问题是,创建的ZIP文件包含一个目录结构。添加的文件以完整路径添加,这意味着提取归档文件的用户最终也将获得一个目录结构。我想将文件添加到ZIP,但不包含任何目录结构
我该怎么做?我在文档中没有找到这个信息
谢谢首先添加
import os
然后修改存档。将行写入:
archive.write(pdffile, os.path.basename(pdffile))
这指定每个pdf都应写入zip文件,其路径仅相当于读取它的路径的文件名部分(通过指定文件名)
但是,请注意,这意味着如果在不同的目录中有两个同名的PDF文件,其中一个将覆盖另一个。尝试使用os.walk
,而不是glob?