Python:将文件放入没有目录的档案中吗?
我已经学习python大约三周了,我目前正在尝试编写一个小脚本,用于按文件名中出现的关键字和日期对文件(大约10.000)进行排序。给定日期之前的文件应添加到存档中。排序工作正常,但无法存档
它会创建一个存档-名称很好-但存档中是文件的完整路径。如果我打开它,它看起来像:folder1 -> folder2 -> folder3 ->
files
。
如何更改它,以使存档仅包含文件而不包含整个结构?
以下是带有我的zip功能的代码段,node
是文件排序之前的路径,folder
是子文件夹,其中文件名称中按关键字排序,items
是文件夹,其文件中按日期排序。
我正在使用Python 2.6
def ZipFolder(node, zipdate):
xynode = node + '/xy'
yznode = node + '/yz'
for folder in [xynode,yznode]:
items = os.listdir(folder)
for item in items:
itemdate = re.findall('(?<=_)\d\d\d\d-\d\d', item)
print item
if itemdate[0] <= zipdate:
arcname = str(item) + '.zip'
x = zipfile.ZipFile(folder + '/' + arcname, mode='w', compression = zipfile.ZIP_DEFLATED)
files = os.listdir(folder + '/' + item)
for f in files:
x.write(folder + '/' + item + '/' + f)
print 'writing ' + str(folder + '/' + item + '/' + f) + ' in ' + str(item)
x.close()
shutil.rmtree(folder + '/' + item)
return
我也欢迎任何建议和改进。