2012-10-15 24 views
24

私はちょうどpythonでgzipを書きました。pythonのgzipファイルから読み込み

import gzip 
f=gzip.open('Onlyfinnaly.log.gz','rb') 
file_content=f.read() 
print file_content 

出力が表示されません。 Pythonの初心者として、gzipファイル内のファイルの内容を読みたい場合はどうすればいいですか?ありがとうございました。

+5

てみ 'プリントオープン( 'Onlyfinnaly.log.gz'、 'RB')を(読み)'( 'zlibの')をデコードします。それでも問題が解決しない場合は、ファイルに何かが含まれていることを確認できますか? – Blender

+0

ええ、私は完全に名前が 'Onlyfinally.log'であるファイルがあると確信しています。私がしようとしているのは、コンテンツを読んで、別のファイルを保存するためにいくつかを選択することです。しかし、それは画面上の空白行だけを回します。 – Michael

+1

コードは正しいように見えますが、ファイル全体を文字列に読み込んでいることに注意してください。より効率的な方法は通常、gzipストリームをチャンクで読み取り、一度に1つずつ処理することです。 – Krumelur

答えて

31

投稿のように、あなたのコードを実行...

import gzip 
f=gzip.open('Onlyfinnaly.log.gz','rb') 
file_content=f.read() 
print file_content 

このメソッドは、用として私のために働いた...

import gzip 
content = "Lots of content here" 
f = gzip.open('Onlyfinnaly.log.gz', 'wb') 
f.write(content) 
f.close() 

...このようなgzipでlibaryを通じていくつかのデータをgzipping試してみてくださいgzipライブラリがいくつかのファイルを読み込めない何らかの理由があります。 gzip.GzipFile使用

+3

@ Arunavaの答えのように 'with'を使うのは、読み込み中にエラーが発生しても(またはあなたが忘れていても)ファイルが閉じられるので、やや好ましいです。ボーナスとしても短くなります。 – Mark

関連する問題