2021-08-09に投稿

Python 標準ライブラリ lzma LZMA圧縮と展開

ライブラリlzmaを使うとLZMA圧縮と展開を行うことができます。

lzma.openを使ったLZMAファイルの圧縮と展開

lzma.open(filename, mode="rb", *, format=None, check=-1, preset=None, filters=None, encoding=None, errors=None, newline=None)

import lzma

with lzma.open('./text.xz', 'wb') as f:
    text = 'テストファイル'.encode('utf-8')
    f.write(text)

with lzma.open('./text.xz', 'rb') as f:
    read_text = f.read()
    print(read_text.decode())

存在するファイルのLZMA圧縮

import shutil
with open('./sample.txt', 'rb') as f_in:
    with lzma.open('./sample.txt.xz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)

lzma.LZMAFileを使ったLZMAファイルの圧縮と展開

lzma.LZMAFile(filename=None, mode="r", *, format=None, check=-1, preset=None, filters=None)

with lzma.LZMAFile('./test.xz', 'wb') as gf:
    gf.write('テストファイル'.encode('utf-8'))

with lzma.LZMAFile('./test.xz', 'rb') as gf:
    print(gf.readline().decode())

参考

Originally published at marusankakusikaku.jp
ツイッターでシェア
みんなに共有、忘れないようにメモ

maru3kaku4kaku

Pythonこつこつ学習中。よく忘れる。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント