如何從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