una txt partir open lista importar guardar español escribir ejercicios crear como binarios archivos archivo python zip

txt - guardar una lista en un archivo python



¿Cómo descomprimir el archivo en Python en todos los sistemas operativos? (2)

¿Existe una función Python simple que permita descomprimir un archivo .zip como así ?:

unzip(ZipSource, DestinationDirectory)

Necesito la solución para actuar de la misma manera en Windows, Mac y Linux: siempre genere un archivo si el archivo zip es un archivo, el directorio si el archivo zip es un directorio, y el directorio si el archivo zip contiene varios archivos; siempre dentro, no en, el directorio de destino dado

¿Cómo descomprimir un archivo en Python?


Python 3.x usa el argumento -e, no -h .. como por ejemplo:

python -m zipfile -e compressedfile.zip c:/output_folder

los argumentos son los siguientes ..

zipfile.py -l zipfile.zip # Show listing of a zipfile zipfile.py -t zipfile.zip # Test if a zipfile is valid zipfile.py -e zipfile.zip target # Extract zipfile into target dir zipfile.py -c zipfile.zip src ... # Create zipfile from sources


Utilice el módulo zipfile en la biblioteca estándar:

import zipfile,os.path def unzip(source_filename, dest_dir): with zipfile.ZipFile(source_filename) as zf: for member in zf.infolist(): # Path traversal defense copied from # http://hg.python.org/cpython/file/tip/Lib/http/server.py#l789 words = member.filename.split(''/'') path = dest_dir for word in words[:-1]: while True: drive, word = os.path.splitdrive(word) head, word = os.path.split(word) if not drive: break if word in (os.curdir, os.pardir, ''''): continue path = os.path.join(path, word) zf.extract(member, path)

Tenga en cuenta que el uso de extractall sería mucho más corto, pero ese método no protege contra las vulnerabilidades de recorrido de ruta antes de Python 2.7.4. Si puede garantizar que su código se ejecuta en versiones recientes de Python.