Autor
|
Tema: [Solucionado]¿Como cortar un cacho del final de un archivo? (Leído 9,562 veces)
|
sr_corsario
Desconectado
Mensajes: 19
|
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 direc = input('Ingrese Directorio: ')
por 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
Mensajes: 502
|
Asi podria ser: 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('.JPG')): 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, 20000) else: 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
Mensajes: 19
|
Buenas!!
Hay algo que falla!! no me hace nada!!
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Que error te da? Algo te debe de mostrar 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
Mensajes: 502
|
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
Mensajes: 19
|
Buenas. Me sale: 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: 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) if(fname.upper().endswith('.bin')):
Gracias
|
|
« Última modificación: 30 Septiembre 2009, 18:13 pm por sr_corsario »
|
En línea
|
|
|
|
43H4FH44H45H4CH49H56H45H
Wiki
Desconectado
Mensajes: 502
|
if(fname.upper().endswith('.bin')): seria: 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
Mensajes: 19
|
Me sigue sin responder nada. 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
Mensajes: 502
|
Con esto deberia funcionar: 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')
|
|
|
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
Mensajes: 19
|
GRRrrAAAaCiassss!!! Ahora si que va de PM!!! Finalmente podré seguir con mi proyecto!!! Saludos
|
|
|
En línea
|
|
|
|
|
|