¿Cómo puedo crear un archivo .tar.gz con compresión en Python?¿Cómo crear un archivo tar completamente comprimido usando Python?
Respuesta
para construir un .tar.gz
(también conocido como .tgz
) para un árbol de directorios:
import tarfile
def make_tarfile(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
tar.add(source_dir, arcname=os.path.basename(source_dir))
Al igual que una nota para los lectores, si omites 'arcname = os.path.basename (source_dir)' entonces te dará la estructura de ruta completa de 'source_dir' en el archivo tar (en la mayoría de las situaciones, eso es probablemente un inconveniente). – Shule
nombre global 'tarfile' no está definido – NDEthos
'import tarfile' –
import tarfile
tar = tarfile.open("sample.tar.gz", "w:gz")
for name in ["file1", "file2", "file3"]:
tar.add(name)
tar.close()
Si desea crear un archivo comprimido tar.bz2, basta con sustituir el nombre del archivo de extensión con" Tar.bz2" y 'w: gz' con 'w: bz2'.
Realmente debería usar 'con tarfile.open (..' en Python, en lugar de llamar' abrir' y 'cerrar' manualmente. Este es también el caso cuando se abren archivos regulares. – Sheljohn
Llama a tarfile.open con mode='w:gz'
, lo que significa "Abrir para escribir en gzip comprimido".
Probablemente querrá terminar el nombre de archivo (el argumento name
en) con .tar.gz
, pero eso no afecta las capacidades de compresión.
Por cierto, por lo general obtener una mejor compresión con un modo de 'w:bz2'
, al igual que tar
usualmente puede comprimir aún mejor con bzip2
de lo que puede comprimir con gzip
.
Solo una nota rápida que el nombre del archivo para bzip2- tarballs comprimidos deben terminar con ".tar.bz2". –
- 1. Actualización de un único archivo en un archivo comprimido tar
- 2. Ruby: Crear un archivo comprimido Gzipped
- 3. Cómo crear archivo tar plana
- 4. Crear un archivo comprimido cifrado con PHP
- 5. usando sed en un archivo comprimido
- 6. Crear archivo tar sin estructura de carpeta
- 7. Crear archivo vacío usando python
- 8. Cómo analizar un archivo tar en C++
- 9. Establecer permisos en un archivo comprimido en python
- 10. Uso de csvreader contra un archivo comprimido en Python
- 11. Tar: Crear un archivo excluir directorios excepto uno
- 12. ¿Cómo extraigo un archivo tar en Java?
- 13. Rails 3: ¿Cómo puedo generar un archivo comprimido bajo pedido?
- 14. ¿Cómo puedo ver un archivo comprimido contenido
- 15. Autotools - tar Esto no se ve como un archivo tar
- 16. Python: ¿Cómo crear un archivo gzip'd en tiempo real?
- 17. ¿Cómo saber si un archivo está comprimido gzip?
- 18. Python: Extracto utilizando archivo tar pero ignorando directorios
- 19. Crear un archivo RDF usando un archivo txt como entrada
- 20. ¿Cómo crear un archivo .ipa usando Xcode?
- 21. Cómo crear un archivo usando Makefile
- 22. Cómo comprimir un directorio en un archivo comprimido programáticamente
- 23. ¿Cómo creo un archivo de requisitos de pip para un archivo tar en mi sistema de archivos local?
- 24. ¿Cómo puedo procesar un archivo tar con un grupo de multiprocesamiento de Python?
- 25. ¿Cómo extraer el archivo tar desde stdin?
- 26. cadena de escritura python directamente al archivo tar
- 27. Cómo descomprimir un archivo TAR utilizando Apache Commons
- 28. cómo vaciar un archivo usando Python
- 29. cómo crear un x509Certificate2 completamente nuevo en .net?
- 30. ¿Cómo puedo construir un archivo tar desde stdin?
tar no comprime los datos, sólo los paquetes de los archivos juntos. Es gzip que hace la compresión real. –