如何从ZIP存档中存在的目录中提取文件,我从表单(用HTML写入)上传zip存档,现在如果Zip存档包含文件夹,我无法提取在侧面这个文件夹中的文件,这是从我的代码片段:从Zip Archive中提取存在于文件夹中的文件
form = cgi.FieldStorage()
file_upload = form['file']
zfile=zipfile.ZipFile(file_upload.file,"r")
files_zip=zfile.namelist()
for name in files_zip:
print name
if name.endswith('/'):
print "yes"
l=list()
l=os.listdir(name)
print l
编辑: 我试图用StringIO()
为:
s=StringIO(file_upload)
f=s.getvalue()
with zipfile.ZipFile(f,'r')as z:
for d in z.namelist():
print "%s: %s"%(d, z.read(d))
,但第二个代码片断的问题是:
No such file or directory: "FieldStorage('file', 'test.zip')
,我想提取这些文件,将它们添加到GAE BlobStore?
在此先感谢。
:在我的问题中,用户从表单上传zip存档文件,我需要阅读它,我在阅读中使用yor方法,但是这样读取ZIP文件夹内的文件不是文件夹? – 2012-03-30 16:16:39
@Eng_Engineer,你的情况用户也上传zip文件数据,而不是实际的文件夹,所以在我的例子中,我创建了这样的数据(其中包含文件夹结构)我认为它应该工作 – 2012-03-30 16:35:20
@ Anurag Uniyal:我试过了,我会编辑我的问题,但问题仍然是 – 2012-03-30 16:43:32