Título: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Shrick en 2 Julio 2008, 13:10 pm Estoy intentado programar un sencillo cortador de archivos de la manera siguiente:
1º Cojo un archivo cualquiera, estoy probando con un archivo llamado "prueba.jpg". 2º Abro el buffer (zona de la memoria temporal donde se pueden modificar datos de un archivo) del archivo "prueba.jpg" en modo binario y lectura, porque no nos interesa escribir en ella. 3º Creamos un bucle que mientras sea verdadero (true) que haga leer X bytes del archivo original ("prueba.jpg") y los copie el contenido leido en un archivo "prueba.jpg.0", continua el bucle y va creando "prueba.jpg.1", "prueba.jpg.2" y asi sucesivamente hasta que no haya más datos, y entonces se cierra el bucle y se cierra el buffer del archivo. Funcionamiento: Código
El tamaño se mide en Bytes para máxima precisión, si quieres una calculadora: _http://www.terra.es/personal2/pagina_de_fuika/byteconvert.htm Ejemplos: Para Linux y similares: Código
Para Windows: Código
Source Code: Código
Ya he corregido el codigo, ya particiona correctamente. Título: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Shrick en 2 Julio 2008, 15:05 pm Pegador de archivos
En BATCH: Código: copy /b "prueba.jpg.0" "prueba.jpg" Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: carlitos.dll en 2 Julio 2008, 16:47 pm Lo probaré en OpenBSD y te cuento qué tal.
gracias por anticipado por el source. Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Novlucker en 2 Julio 2008, 17:38 pm También lo probaré en cuanto llegue a casa... ;D
Citar Pegador de archivos Por HACER... El pegador no debería darte complicaciones, ya que debería de conseguirse con un for, en el que se van abriendo los archivos y se va guardando su valor, para luego escribirse dicho valor en un archivo También te aconsejo importar el módulo sys para que ruta y tamano_trozo puedan ser pasados como parámetro por el usuario de este modo.. Código
Código: python cortador.py "prueba.jpg" 100000 ;) Saludos Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Shrick en 2 Julio 2008, 17:42 pm O más fácil miren en bat ;D :
Código
Como ven es muy útil tanto python como batch. Supongo que tendré que hacer un automatizador para que cree el .bat y simplemente se pega con un .bat y pista. Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: carlitos.dll en 3 Julio 2008, 06:40 am Shryck, lo probé, y funcionó. Al principio me arrojó el siguiente error:
OSError: [Errno 2] No such file or directory: 'prueba.jpg' Entonces modifiqué el script y le escribí la ruta completa del archivo que quería cortar, ruta = "/home/miusuario/cortar/Imagen.jpg" # Archivo a dividir y me generó dos archivos: Imagen.jpg.0 Imagen.jpg.1 Después lo quise unir (no sé si lo hice bien (al parecer no)), pero escribí lo siguiente: cat Imagen.jpg.* > ImagenConstruida.jpg Después comparé: cmp Imagen.jpg ImagenConstruida.jpg cmp: EOF on Imagen.jpg diff Imagen.jpg ImagenConstruida.jpg Binary files Imagen.jpg and ImagenConstruida.jpg differ y difieren en el tamaño, aunque la imagen se ve correctamente: Imagen.jpg 172429B ImagenConstruida.jpg 172585B Al parecer, hice mal la unión, porque revisé, y el tamaño de cada archivo es el total del original: Tortuga.jpg.0 100000B Tortuga.jpg.1 72429B Me gustó el script, primer script de python que ejecuto. Lo ejecuté en ksh en OpenBSD 4.3 ¿Podrías modificarlo para que realice el cortamiento de archivos pasándole parámetros? parámetro para la acción (por ejemplo c para cortar u para unir, archivo para indicar archivo. Como ya si que me aburrí del batch de windows, el script podría unir los archivos usando el lenguaje de python, en vez de limitarlo a una consola específica, bueno esa es mi opinión, gracias por el script, y si lo modificas, estaré atento para utilizarlo. Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Shrick en 3 Julio 2008, 09:49 am Si me poneis el script de como seria en bash lo implemento (es así como se llama no? :xD :xD ), haciendo que compare los sistemas operativos y haga una cosa u otra.
- EDIT - Modifique el script, Novlucker, gracias. carlitos.dll pues ha mi me lo pega y tiene el mismo tamaño que el archivo original y los trozos me dan exactamente: prueba.jpg -> 125 KB (128.625 bytes) (ORIGINAL) prueba.jpg.0 -> 97,6 KB (100.000 Bytes) prueba.jpg.1 -> 27,9 KB (28.625 Bytes) prueba.jpg -> 125 KB (128.625 bytes) (PEGADO por .bat) La imagen que use llamada prueba.jpg: (http://img296.imageshack.us/img296/5707/pruebaov5.jpg) Y como haría un frontend (una interfaz gráfica) para facilitar la tarea a los usuarios que tienen pocos conocimientos? - EDIT2 - Veo Novlucker, que hay que pasar el argumento de string a integer con la función int(), actualizo el code, estoy intentando hacer un frontend en Delphi haber que sale. Estoy mirando para hallar nombre de un archivo. -> Hecho. Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Novlucker en 3 Julio 2008, 15:09 pm Citar Veo Novlucker, que hay que pasar el argumento de string a integer con la función int(), actualizo el code, estoy intentando hacer un frontend en Delphi haber que sale. Tienes razón Shrick eso se me había pasado :-X, es que mis conocimientos de python son básicos :rolleyes:, en su momento preferí, el competidor de python, .... perl ;D Saludos y sigue así [Modifico:]Si estás buscando información sobre desarrollo de Gui para python aqui (http://www.planetacodigo.com/wiki/guia:python) (click) tienes algunos comentarios, y desde ahí puedes llegar a http://wiki.python.org/moin/GuiProgramming (http://wiki.python.org/moin/GuiProgramming) donde encontrarás toda la información necesaria, pero en inglés :-\ Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Shrick en 3 Julio 2008, 15:41 pm Bueno ya tengo el frotend creado y subido, programado en Delphi el code del .exe es el mismo que de python, pero "compilado", se ejecuta el GUI, para ver como ha quedado de forma gráfica:
Haber que les parece... - EDIT - Sorry, puse la versión que no funcionaba. http://www.mediafire.com/?bztdaj9buho (http://www.mediafire.com/?bztdaj9buho) Esta en fase Alfa. - EDIT 2 - Code actualizado ahora se puede meter destino ::) . Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Swicher en 11 Julio 2009, 10:40 am Si me poneis el script de como seria en bash lo implemento (es así como se llama no? :xD :xD ), haciendo que compare los sistemas operativos y haga una cosa u otra. Este programa se ve muy interesante (aunque aun no he podido probarlo, pero creo que me puede ayudar en mis practicas con Python). Por cierto, no se si te servirá de algo, pero, hace unos días encontré este articulo (http://clinuxera.org/serompiolaventana/?p=368) en donde se explica como unir archivos en Linux mediante el comando cat y para comparar los sistemas operativos puedes utilizar el os.name (abajo dejo un ejemplo al respecto):[...] Código
Título: Re: [SOURCE] Cortador de Archivos hecho en Python! Publicado por: Anibal784 en 13 Julio 2009, 20:58 pm perdón caí tarde, @Swicher testear sobre qué sistema operativo se está ejecutando un programa multiplataforma es, cuanto poco, mala idea, se debe abolir las cosas propias del sistema operativo lo más que se pueda y usar las cosas multiplataforma, ésto no siempre se puede, pero se puede tratar.
Si abres, cortas y guardas las partes de un archivo en python, ¿qué tan difícil es abrir cada parte y crear un archivo nuevo desde python?. Para qué hacer las cosas en python y la interfaz sobre Delphi?, si quieres el máximo de portabilidad, puedes usar TkIter (o algo así). |