ディレクトリ内のすべて/home/username/main/books/
が書き込まれて返され/home/username/main/index.html
ますが、「index.html」はディレクトリではないため、ウォークできないため、書き込まれません。スクリプトを修正して、ディレクトリの場合はそれを歩き、見つかったものすべてを書き込み、直接ファイルの場合はそれを書き込むにはどうすればよいでしょうか。
パイソン
def zipit (request):
file_paths = ['/home/username/main/books/', '/home/username/main/index.html']
buffer= StringIO.StringIO()
z= zipfile.ZipFile( buffer, "w" )
for p in file_paths:
for dir, subdirs, files in os.walk(p):
for f in files:
filename = os.path.join(dir, f)
z.write(filename, arcname = filename[15:])
z.close()
buffer.seek(0)
final = HttpResponse(buffer.read())
final['Content-Disposition'] = 'attachment; filename=dbs_custom_library.zip'
final['Content-Type'] = 'application/x-zip'
return final