entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

-1voto

Alguien sabe como se puede Comprimir y Descomprimir

hola muchachos en esta ocasion necesito vuestra ayuda porque quiero comprimir un archivo en formato zip o rar y luego descomprimirlo con otro script, he visto que se usa el objeto file pero no estoy muy familiarizado y en la red hay solo malos ejemplos con poca explicacion, el clasico autor copy paste que no le importa la caliad bueno
el codigo que empleo no esta terminado y esta incompleto, que cosa le hace falta

import ZipFile

file = open('log.txt')
file.ZipFile()
file.close()

1 Respuesta

2votos

carlossevi Puntos59740

Como siempre, te aconsejo acudir a documentación que puedas encontrar, en este caso:

Documentación de referencia (ZipFile en python.org)
Ejemplos de uso (ZipFile en pymotw.com)

En esta segunda hay un montón de ejemplos. El básico para crear un archivo ZIP:

from zipfile_infolist import print_info
import zipfile

print 'creating archive'
zf = zipfile.ZipFile('zipfile_write.zip', mode='w')
try:
    print 'adding README.txt'
    zf.write('README.txt')
finally:
    print 'closing'
    zf.close()

print
print_info('zipfile_write.zip')

Los pasos son:

  • Crear objeto ZipFile
  • Escribir otros ficheros dentro del objeto
  • Cerrar el objeto ZipFile

steven comentado Feb 8

no logro entender la logica de python porque es necesario repetir zipfilezipfile y que cosa cambia entre un import normal y un from import to, la idea que tengo es que un import objeto importa todos los metodos y un import to importa solo un metodo especifico cierto, esto se hace para ahorrar memoria no, si no es asi podrias explicarme tambien porque hay tantas maneras de manejar las excepciones como try e cath, luego hay un try finally y por ultimo un try finally, cuantas mas existen, me seria de mucha ayuda entender estos conceptos que raramente explican en las documentaciones y en los manuales

carlossevi comentado Feb 8

Se trata de un método dentro de un módulo, por eso utilizas las nomenclatura modulo.metodo(). Ese método en concreto es un cronstuctor.

Respecto a la documentación que dices raramente se encuentra, te paso algunos enlaces:

Sobre la importación: http://librosweb.es/libro/python/capitulo_3/creando_modulos_empaquetados.html

Si importas el módulo completo, es necesario usar el nombre del namespace para hacer uso de los métodos. Si directamente importas el método, no es necesario recurrir al namespace.

Sobre las excepciones: http://librosweb.es/libro/algoritmos_python/capitulo_12/excepciones.html

Para más cuestiones, utiliza nuevas preguntas y vete cerrando las que quedan solucionadas.

steven comentado Feb 8

en un videotutorial he visto que los constructores solo se usan para las clases y nunca se hablan de ellos para los objetos, luego no entendi bien la diferencia entre una importacion normal y una importacion con namespace, no respondiste a mi duda si hacer un import del objeto por ejemplo

import objeto es lo mismo que from objeto import

no entiendo bien eso de los namespaces, es muy complicado de enteder

carlossevi comentado Feb 8

Más complicado es explicarlo a alguien que no quiere leer manuales ni documentación. Yo me bajo.

steven comentado Feb 8

al momento creo que acabo de entender un poco como funciona el manejo de excepciones es parecido a una estructura de control switch solo que hay otras comandos que no entendi bien, estos son el raise, el execpt funct y otros mas, crees que esos comandos puedan servir de algo

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Actividad Reciente

¿Eres Usuario Apple?

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta