elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Solucionado]¿Como cortar un cacho del final de un archivo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado]¿Como cortar un cacho del final de un archivo?  (Leído 6,369 veces)
sr_corsario

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #10 en: 29 Septiembre 2009, 09:00 am »

Muchiiiisimas graaacias!!!!!!

Otra petición... ¿Hay alguna manera para que directamente busque el archivo en el directorio donde ejecuto el archivo?

Gracias!

Edit:O asignar uno que siempre sea el mismo...
Supongo que sería cambiando
Código:
direc = input('Ingrese Directorio: ')
por
Código:
direc = os.chdir(path)

pero claro... estoy en las m¡smas ... hay que definir el "path" ...


« Última modificación: 29 Septiembre 2009, 09:58 am por sr_corsario » En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 503



Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #11 en: 29 Septiembre 2009, 15:38 pm »

Asi podria ser:

Código
  1. import os
  2. def cortar(nomOriginal, nomNuevo, tamArchivo, tamCortar):
  3.    with open(nomOriginal, 'r+b') as file1:
  4.        f1 = file1.read (tamArchivo-tamCortar)
  5.        file1.close()
  6.    with open(nomNuevo, 'w+b') as file2:
  7.        file2.write(f1)
  8.        file2.close()
  9.        print("Cortado Hecho y guardado en: " + nomNuevo)
  10.  
  11. direc = os.getcwd()
  12. dirList = os.listdir(direc)
  13. for fname in dirList:
  14.    if(fname.upper().endswith('.JPG')):
  15.        if(os.path.isfile(direc + fname)== True):
  16.            if(os.path.exists(direc + fname + '.bak')== False):
  17.                print ('Nombre de archivo: '+ fname)
  18.                leno = os.path.getsize(direc + fname)
  19.                print ("inciando cortado en: " + direc + fname)
  20.                os.rename(direc + fname,direc + fname + '.bak')
  21.                cortar(direc + fname + '.bak', direc + fname, leno, 20000)
  22.            else:
  23.                print ('Archivo: ' + direc + fname + ' ya fue cortado')


En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
sr_corsario

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #12 en: 29 Septiembre 2009, 16:20 pm »

Buenas!!

Hay algo que falla!! no me hace nada!!

En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #13 en: 29 Septiembre 2009, 17:27 pm »

Que error te da?
Algo te debe de mostrar  :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 503



Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #14 en: 29 Septiembre 2009, 19:15 pm »

Hazle click derecho al archivo y edit IDLE para correrlo con F5 y ahi en el idle te saldra los errores o similar.
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
sr_corsario

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #15 en: 30 Septiembre 2009, 12:01 pm »

Buenas.

Me sale:
Código:
   
IDLE 3.0      ==== No Subprocess ====
>>>
>>>


Por lo que entiendo que no encuentra ningún archivo en el directorio donde lo ejecuto.

¿Alguna idea?

Edit:
Para ver realmente si estaba en el directorio que debería, le he metido esto:
Código:
for fname in dirList:
    print (fname)
 
Y si... es el directorio que toca... por lo que no entiendo porqué no encuentra el archivo! :(

¿Puedo especificar un nombre de archivo en concreto? (game.bin)
Código:
if(fname.upper().endswith('.bin')):

Gracias
« Última modificación: 30 Septiembre 2009, 18:13 pm por sr_corsario » En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 503



Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #16 en: 30 Septiembre 2009, 19:11 pm »

Código:
if(fname.upper().endswith('.bin')):

seria:

Código:
if(fname.upper().endswith('.BIN')):

Por eso se usa "upper()" y evitamos combinaciones entre may... y min...
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
sr_corsario

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #17 en: 1 Octubre 2009, 08:33 am »

Me sigue sin responder nada.

Código:
import os
def cortar(nomOriginal, nomNuevo, tamArchivo, tamCortar):
    with open(nomOriginal, 'r+b') as file1:
        f1 = file1.read (tamArchivo-tamCortar)
        file1.close()
    with open(nomNuevo, 'w+b') as file2:
        file2.write(f1)
        file2.close()
        print("Cortado Hecho y guardado en: " + nomNuevo)
 
direc = os.getcwd()
dirList = os.listdir(direc)
for fname in dirList:
    if(fname.upper().endswith('.BIN')):
        if(os.path.isfile(direc + fname)== True):
            if(os.path.exists(direc + fname + '.bak')== False):
                print ('Nombre de archivo: '+ fname)
                leno = os.path.getsize(direc + fname)
                print ("inciando cortado en: " + direc + fname)
                os.rename(direc + fname,direc + fname + '.bak')
                cortar(direc + fname + '.bak', direc + fname, leno, 131072)
            else:
                print ('Archivo: ' + direc + fname + ' ya fue cortado')


Perdón por mi torpeza :(

Bueno... mas o menos ya se donde está el error.  Es algo sobre la ruta del directorio. Creo que le falta "\" en el path del archivo, ya que si toqueteo el programa me responde en algún punto "F:\pruebagame.bin" cuando tendría que ser "F:\prueba\game.bin"  Lo que pasa es que yo no se como solucionarlo...

Gracias
« Última modificación: 1 Octubre 2009, 11:44 am por sr_corsario » En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 503



Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #18 en: 2 Octubre 2009, 04:37 am »

Con esto deberia funcionar:

Código
  1. import os
  2. def cortar(nomOriginal, nomNuevo, tamArchivo, tamCortar):
  3.    with open(nomOriginal, 'r+b') as file1:
  4.        f1 = file1.read (tamArchivo-tamCortar)
  5.        file1.close()
  6.    with open(nomNuevo, 'w+b') as file2:
  7.        file2.write(f1)
  8.        file2.close()
  9.        print("Cortado Hecho y guardado en: " + nomNuevo)
  10.  
  11. direc = os.getcwd() + '\\'
  12. dirList = os.listdir(direc)
  13. for fname in dirList:
  14.    if(fname.upper().endswith('.BIN')):      
  15.        if(os.path.isfile(direc + fname)== True):
  16.            if(os.path.exists(direc + fname + '.bak')== False):
  17.                print ('Nombre de archivo: '+ fname)
  18.                leno = os.path.getsize(direc + fname)
  19.                print ("inciando cortado en: " + direc + fname)
  20.                os.rename(direc + fname,direc + fname + '.bak')
  21.                cortar(direc + fname + '.bak', direc + fname, leno, 131072)
  22.            else:
  23.                print ('Archivo: ' + direc + fname + ' ya fue cortado')
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
sr_corsario

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: [Ayuda] ¿Como cortar un cacho del final de un archivo "Bin"?
« Respuesta #19 en: 2 Octubre 2009, 09:01 am »

GRRrrAAAaCiassss!!! Ahora si que va de PM!!!

Finalmente podré seguir con mi proyecto!!! ;)

Saludos
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
EOF en archivo antes de su verdadero final
Programación C/C++
XafiloX 8 2,711 Último mensaje 3 Diciembre 2011, 13:59 pm
por XafiloX
Como escribir al final de una archivo ?
Programación C/C++
Julián2016 5 1,221 Último mensaje 25 Marzo 2017, 17:29 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines