es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo extraer un archivo 7z con python en un entorno Ubuntu?

Quiero extraer un archivo .7z usando Python.
Anteriormente, en Windows, utilizaba pyunpack para extraerlo, y funcionaba. Pero cuando ejecuto mi script en Ubuntu, devuelve un error durante la extracción.
Este es el error:

pyunpack.PatoolError: patool no puede descomprimir
error de patool: error al extraer el archivo.7z: no se pudo encontrar un programa ejecutable para extraer el formato 7z

Este es mi código para extraerlo:

from pyunpack import Archive

Archive(C:\carpeta\archivo.7z).extractall(C:\carpeta_de_salida)

¿Alguien puede ayudarme por favor? Muchas gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Hay algunas medidas que puede tomar para intentar solucionar este problema.

    1. Instalar 7zip en Ubuntu
      Parece que Ubuntu no tiene un programa capaz de extraer archivos .7z. Por lo tanto, debe instalar 7zip en Ubuntu ejecutando este comando en la terminal:
    sudo apt-get install p7zip-full
    

    Esto debería instalar la versión completa de 7zip en su sistema Ubuntu.

    1. Instalar el paquete patool
      El paquete patool es utilizado por pyunpack para manejar varios formatos de archivo. Sin embargo, parece que no puede encontrar el programa ejecutable para extraer archivos .7z. Para solucionar esto, necesita instalar patool usando pip ejecutando este comando en la terminal:
    pip install patool
    

    Esto debería instalar patool y asegurarse de que el programa ejecutable esté instalado en su sistema.

    1. Cambiar el formato de la ruta
      En su código, la ruta al archivo .7z y la carpeta de salida están escritas en formato de Windows. Ubuntu utiliza un formato de ruta diferente, por lo que necesita cambiar la ruta al formato de ruta de Linux. Aquí hay un ejemplo:
    from pyunpack import Archive
    
    Archive('/home/user/folder/file.7z').extractall('/home/user/output_folder')
    

    Asegúrese de que la ruta al archivo .7z y la carpeta de salida sean correctas y coincidan con el formato de ruta de Linux.

    Con estos pasos, su código debería poder extraer archivos .7z en Linux usando Python con pyunpack.

Comments are closed.