繁体   English   中英

当文件系统中不存在该文件夹时,如何在zip中添加文件夹?

[英]How to add folder in zip, when this folder does not exist in file system?

任务是创建zip归档文件,其中包含带有文件的文件夹树。 但是,一个细微差别是,这些文件夹不在磁盘上,只有其他名称的文件,并且树包含在数据库中。

我尝试使用标准的zipfile,但是当我尝试调用write方法时,出现错误,表明磁盘上没有此类文件夹。 我该如何解决这个任务?

要在归档文件中创建不在磁盘上的文件夹,必须使用writestr()方法。 例如:

zf.writestr('folder1/', '')

为了将文件写入存档,在创建许多不在磁盘上的文件夹时,必须使用write()方法,其中,文件名在磁盘上指定其名称,而参数arcname指定存档中的路径。 这将创建在arcname中指定的所有以前的文件夹。 例如:

zf.write('test.txt', arcname='folder2/test1.txt')

在存档的这两行之后,将是文件夹“ folder1”和“ folder2”,在文件夹“ folder2”中将是名为“ test1.txt”的文件,其中包含文件系统中文件“ test.txt”的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM