2016-09-20 9 views
1

は、私が持っているものです。Pythonでbzip2を使ってファイルを圧縮するには?ここ

import bz2 

compressionLevel = 9 
source_file = '/foo/bar.txt' #this file can be in a different format, like .csv or others... 
destination_file = '/foo/bar.bz2' 

tarbz2contents = bz2.compress(source_file, compressionLevel) 
fh = open(destination_file, "wb") 
fh.write(tarbz2contents) 
fh.close() 

は私がbz2.compressの最初のパラメータを知っているデータであるが、それは私が必要なものを明確にしたシンプルな方法です。

私はBZ2Fileについて知っていますが、BZ2Fileを使用する良い例は見つかりません。

答えて

3

の場合​​はファイル名ではなくデータを取ります。

tarbz2contents = bz2.compress(open(source_file, 'rb').read(), compressionLevel) 

...または多分:
は、以下の行を交換してみてください

with open(source_file, 'rb') as data: 
    tarbz2contents = bz2.compress(data, compressionLevel) 
+0

グレート@Gerrat!最初のオプションは私のために働いた。ありがとう! – Lucas

関連する問題