2012-01-13 3 views
28

私はzipアーカイブを持っています:my_zip.zipその中には私が知らないtxtファイルが1つあります。私はPythonのzipfileモジュール(http://docs.python.org/library/zipfile.html)を見ていましたが、私がやろうとしていることをあまり理解できませんでした。zipファイルに含まれるファイルのファイルリストを取得

どのように私は「ダブルクリック」の同等のzipファイルtxtファイルを取得し、私が行うことができるようにtxtファイルを使用するだろう:

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

答えて

43

ZipFile.namelist()は、アーカイブのすべてのコンテンツの一覧を表示します。zip.open('filename_you_discover')を実行すると、そのファイルの内容を取得できます。

+3

その他の詳細を知りたい場合は、['infolist()'](https://docs.python.org/2/library/zipfile.html#zipfile.ZipFile.infolist)を使用してください。日付変更または圧縮サイズのように –

+1

リストではなくイテレータとしてファイル名を返すメソッドはありますか? – Elliott

12
import zipfile 

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

をあなたがマニュアルを参照してくださいすることができますhere。特に、namelist()メソッドでは、zipファイルメンバーの名前が表示されます。

+1

「アーカイブに ''という名前のアイテムがありません」というエラーが表示されます。私が知っているのは、**圧縮されているファイルの名前が何であるか(そしてそれはzipアーカイブの名前とは違う)です。 – David542

+0

なぜdownvotes? –

関連する問題