2012-03-21 34 views
7

Dosya girdisini kullanarak zip klasörünü yükledim, ancak bu zip dosyasının geçerli olup olmadığını kontrol ettiğimde, sonuç: geçerli bir pkzip dosyası değil, geçerli belirtimin ne olduğunu bilmiyorum pkzip. ? Ben kontrol etmek için bu kodu kullandı:Python'da geçerli zip dosyası

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 

bilmiyorum mesela ben test.zip yüklediğinizde neden o/p olacak: test.zip geçerli pkzip dosyası değil, ben Bir yardıma ihtiyacım var

+0

Hangi sürüm Python kullanıyorsunuz? – katrielalex

cevap

10

zipfile.is_zipfile bir dosyaya veya dosya benzeri bir nesneye giden bir yol alır. Sen de geçmiyorsun, bu yüzden başarısız oluyor.

Bunun yerine file_upload.file hakkında sorun.

+0

: python 2.5'i kullandım ve eclipse üzerinde çalıştım, dediğin gibi çalıştım, file_upload.file, ama hatadır: Unicode'a zorlamak: string veya buffer gerekiyor, cStringIO.StringO found.What sorun nedir, lütfen? –

+0

Dosyayı okumanız gerekecek - olabilir. .getvalue() '; Tam yöntemi hatırlayamıyorum - ve verileri "zipfile" ye iletiyorum. Ya da bir "TemporaryFile" e yazın. – katrielalex

+0

@ katrielalex: Bunu kullanmak için karşıya yüklenen dosya yolunu nasıl alabilirim: zipfile.is_zipfile ??? Teşekkürler –

İlgili konular