2012-01-13 13 views
28

Bir zip arşivi var: my_zip.zip. İçinde, bilmediğim bir txt dosyası var. Python'un zipfile modülüne (http://docs.python.org/library/zipfile.html) bir göz atıyordum, ama yapmaya çalıştığım şeyden çok fazla şey anlayamıyordum.bir zip dosyasında bulunan dosyaların dosya listesini alın

Ben 'çift tıklayarak' txt dosyası almak ve sonra txt dosyası kullanmak için zip dosyası eşdeğer yapacağını nasıl yüzden yapabilirsiniz:

>>> f = open('my_txt_file.txt','r') 
>>> contents = f.read() 

cevap

43

İhtiyacınız olan şey, arşivin tüm içeriğinin bir listesini verecek olan ZipFile.namelist(), daha sonra bu dosyanın içeriğini almak için bir zip.open('filename_you_discover') yapabilir.

+3

Veya diğer ayrıntıları almak istiyorsanız ['infolist()'] (https://docs.python.org/2/library/zipfile.html#zipfile.ZipFile.infolist) kullanın; Tarih Değiştirilmiş veya Sıkıştırılmış Boyutu –

+1

gibi Dosya adları bir liste yerine bir yineleyici olarak döndüren bir yöntem var mı? – Elliott

12
import zipfile 

zip=zipfile.ZipFile('my_zip.zip') 
f=zip.open('my_txt_file.txt') 
contents=f.read() 
f.close() 

Sen belgelerine görebilirsiniz here. Özellikle, namelist() yöntemi, zip dosya üyelerinin isimlerini verecektir.

+1

"Arşivde" "adında öğe bulunmadığını belirten bir hata alıyorum". Ben ** bilmiyorum ** sıkıştırılmış dosyanın adı ne denir (ve zip arşivinin adını farklıdır). – David542

+0

Neden düşüşler? –

İlgili konular