miurahr / py7zr

7zip in python3 with ZStandard, PPMd, LZMA2, LZMA1, Delta, BCJ, BZip2, and Deflate compressions, and AES encryption.

Home Page:https://pypi.org/project/py7zr/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question -

f1refa11 opened this issue · comments

I use these settings in 7-zip to make an archive:
изображение
How can I convert these settings to filter argument in py7zr.SevenZipFile?

from 7-zip document, a compression level 9 uses LZMA2 and BCJ2
https://documentation.help/7-Zip/method.htm#SevenZipX

Python core library and py7zr does not support BCJ2.
https://github.com/miurahr/py7zr/#not-supported-algorithms

I'd like to advice you to check also a standard python document for filter values.
https://docs.python.org/3/library/lzma.html#specifying-custom-filter-chains

py7zr pass a specified filter value to python lzma module.

I'd like to advice you to check also a standard python document for filter values. https://docs.python.org/3/library/lzma.html#specifying-custom-filter-chains

py7zr pass a specified filter value to python lzma module.

Thanks, but I don't see solid block size value support, does lzma module support setting block size to Solid?

solid compression is not a filter settings, but a way to call write functions.

You can open SevenZipFile object and calls multiples of write and close
a object, when you can observe a solid compression archive.

https://py7zr.readthedocs.io/en/latest/api.html#py7zr.SevenZipFile.write

And you can open the file with append mode and write again,
you will observe a two solid blocks.

py7zr does not provide a native way to handle solid blocks in single opened object.