Saltar al contenido

Comandos 7zip desde Python

No dejes de divulgar nuestros tutoriales y códigos con otro, danos de tu ayuda para hacer crecer nuestra comunidad.

Solución:

import subprocess
cmd = ['7z', 'a', 'Test.7z', 'Test', '-mx9']
sp = subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)

Puede envolverlo como una función usando lo siguiente:

import subprocess

def sevenzip(filename, zipname, password):
    print("Password is: ".format(password))
    system = subprocess.Popen(["7z", "a", zipname, filename, "-p".format(password)])
    return(system.communicate())

Esto definitivamente funciona como lo he probado y probado. Si desea modificarlo, es decir, extraer archivos, puede usar lo siguiente:

def extractfiles(zipname):
    system = subprocess.Popen(["7z", "e", zipname])
    return(system.communicate())

Pruébalo y déjame saber cómo te va.

Tenga en cuenta que esto es para Linux. En Windows, cambie “7z” por “C:Archivos de programa7-Zip7z.exe” (creo que es la ubicación correcta).

El siguiente funciona para mí, python 3.5.2, windows8.1, ruta 7z agregada al sistema

    rc = subprocess.call(['7z', 'a', output_filename + '.zip', '-mx9', '-pSecret^)'] + [src_folder + '/'])

Con dos parámetros, -mx9 significa compresión máxima, -pSecret^) significa que la contraseña es “Secret^)”, “^” es escape para “)” para el sistema de Windows, pero cuando descomprima, deberá escribir “^” .

Sin “^”, el sistema de Windows no aplicará la contraseña cuando 7z.exe cree el archivo zip.

Además, si desea usar el interruptor “-mhe”, necesita el formato de archivo en 7z en lugar de zip.

Si crees que ha sido útil nuestro artículo, sería de mucha ayuda si lo compartieras con otros entusiastas de la programación así contrubuyes a difundir nuestro contenido.

¡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 *