Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] truncar archivo en python

Estas en el tema de truncar archivo en python en el foro de Python en Foros del Web. Hola. Esta vez lo que intento hacer es lo siguiente. Quiero crear un archivo y llenarlo de ceros hasta cierto tamaño(por ejemplo 1KB) Despues empezar ...
  #1 (permalink)  
Antiguo 04/10/2013, 20:16
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
truncar archivo en python

Hola.

Esta vez lo que intento hacer es lo siguiente.
Quiero crear un archivo y llenarlo de ceros hasta cierto tamaño(por ejemplo 1KB)
Despues empezar a escribir en el desde el principio para al final tener un archivo con alguna información al principio y luego puros ceros hasta cierta direccion.

Viendo la documentacion de python y buscando google me encuentro con un metodo truncate(size), pero en ningun lado es muy claro su uso y aparte en varias referencias dice que su comportamiento depende del sistema operativo....

Alguien conoce una manera "elegante" de hacer esto?

Saludos
  #2 (permalink)  
Antiguo 05/10/2013, 08:39
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: truncar archivo en python

Y por qué no directamente algo como:

Código Python:
Ver original
  1. f = open("file.txt", "w")
  2. f.write("0" * 1000)
  3. f.seek(0)
  4. f.write("Hola mundo")
  5. f.close()

  #3 (permalink)  
Antiguo 05/10/2013, 12:07
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: truncar archivo en python

Basado en esta respuesta.

Código Python:
Ver original
  1. with open(filename, "wb") as f:
  2.     f.seek(999)
  3.     f.write("\0")
  4.     f.seek(0)
  5.     f.write("Some stuff")

Etiquetas: gui, ip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:09.