Python:将文件放入没有目录的存档中?

时间:2011-08-10 08:27:59

标签: python zipfile

我已经学习python大约3个星期了,我现在正在尝试编写一个小脚本,用于按文件名中出现的关键字和日期对文件进行排序(大约10.000)。应将给定日期之前的文件添加到存档中。排序工作正常,但不是归档

它创建一个存档 - 名称很好 - 但在存档中是文件的完整路径。 如果我打开它,它看起来像:folder1 -> folder2 -> folder3 -> files

如何更改它以使存档仅包含文件而不包含整个结构?

下面是我的zip功能的代码段,node是排序前文件的路径,folder是一个子文件夹,其中的文件按名称{{1}中的关键字排序是按日期排序的文件夹。

我正在使用Python 2.6

items

我也对任何建议和改进持开放态度。

1 个答案:

答案 0 :(得分:14)

来自帮助(zipfile):

 |  write(self, filename, arcname=None, compress_type=None)
 |      Put the bytes from filename into the archive under the name
 |      arcname.

因此尝试使用以下命令更改write()调用:

x.write(folder + '/' + item + '/' + f, arcname = f)

关于你的代码,在我看来这已经足够好了,特别是对于一个为期3周的pythonist,虽然有一些评论会受到欢迎; - )