Saltar al contenido

Python3: lzma descomprime el archivo .7z

Queremos compartirte la mejor respuesta que descubrimos por todo internet. Esperamos que te resulte útil y si deseas compartir algo que nos pueda ayudar a perfeccionar nuestra información hazlo con total libertad.

Solución:

LZMA y 7z son dos muy diferente ganado.

En los términos más simples, LZMA es un algoritmo de compresión sin pérdidas. Esto significa que, si le das algunos datos a LZMA, los comprimirá y te dará la salida. No tiene sentido de archivos, carpetas o cómo almacenarlos.

7z, por otro lado, es un formato de archivo de almacenamiento, y esto significa que 7z es un paquete completo. Tiene algunos archivos y carpetas, aliméntelos a 7z, los comprimirá perfectamente y los almacenará en un solo archivo (archivo). Tenga en cuenta que 7z usa LZMA y un cóctel de otros algoritmos para comprimir y almacenar archivos en su archivo de almacenamiento 7z.

Esto es lo que wikipedia tiene que decir sobre los dos:

7z es un formato de archivo comprimido que admite varios algoritmos de preprocesamiento, cifrado y compresión de datos diferentes.

El algoritmo de cadena Lempel-Ziv-Markov (LZMA) es un algoritmo utilizado para realizar una compresión de datos sin pérdidas. Ha estado en desarrollo desde 1996 o 19983 y se utilizó por primera vez en el formato 7z del archivador 7-Zip.

En resumen, no puede usar lzma para crear o extraer archivos 7z. Hasta donde yo sé, no hay forma de extraer un archivo 7z usando python que no sea: Ver actualización a continuación.

import os
os.system( '7z x archive.7z -oPath/to/Name' )

Actualización: mayo de 2019

Dado que hay cierto interés en extraer 7z archivos en python, pensé que se necesitaba una actualización. A partir de 2019 (quizás incluso antes), los enlaces de libarchive para python son compatibles 7z formato. En el enlace anterior se proporciona un ejemplo para extraer archivos del archivo 7z.

En su lugar, puede intentar usar una biblioteca de python, py7zr, que admite la compresión, descompresión, cifrado y descifrado de archivos 7zip. https://github.com/miurahr/py7zr

import py7zr
with py7zr.SevenZipFile('sample.7z', mode='r') as z:
    z.extractall()

valoraciones y reseñas

Si guardas alguna sospecha o disposición de ascender nuestro noticia eres capaz de escribir una referencia y con placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *