簡體   English   中英

閱讀上傳的zip文件

[英]Reading uploaded zip file

我如何閱讀zip文件中的文件項目,該文件在html中使用表格上傳並使用Cgi,我試過這樣:

form = cgi.FieldStorage() 
file_upload = form['file']
if zipfile.is_zipfile(file_upload.filename):
    print "%s is a valid pkzip file" % file_upload.filename
else:
    print "%s is not a valid pkzip file" % file_upload.filename
zfile=zipfile.ZipFile(file_upload.filename,"r")
files_zip=zfile.namelist()

例如,當我上傳(test.zip)錯誤是沒有這樣的文件或目錄:'test.zip',如果我運行沒有這個zfile=zipfile.ZipFile(file_upload.filename,"r") ,我得到test.zip不是有效的pkzip文件。 提前致謝。

您可以嘗試將file_upload.file傳遞給ZipFile而不是file_upload.filename

這是一個打印zip文件中文件列表的腳本:

import sys
sys.stderr = sys.stdout
print "Content-Type: text/plain"
print

import cgi
import zipfile

form = cgi.FieldStorage()

filefield = form['somefile']
print "Filename:", filefield.filename

if filefield.file is not None and zipfile.is_zipfile(filefield.file):
    zfile = zipfile.ZipFile(filefield.file)
    print "Name list:\n\t",
    print "\n\t".join(zfile.namelist())

和相應的html表單:

<!DOCTYPE html>
<form enctype="multipart/form-data" action="file-upload" method=post>
<p><label for=somefile>File: <input type=file name=somefile>
<p><input type=submit>
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM