Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: sil en 26 de Abril 2014, 08:52
-
Necesito sobrescribir en una sola linea! pero si utilizo el "w" me borra absolutamente todo!!
y si utilizo el r+ tambien
un ejemplo super simple:
en el archivo tengo los siguientes valores:
10
11
14
13
resulta que quiero cambiar el 14 por un 12! no se como sustituir el valor por el que ahora quiero!
-
me urge demasiaado!! por favor necesito ayudaaa!!
-
Hola, por favor no repitas la misma pregunta en diferentes hilos del foro. Sobre la cuestión que comentas, lo primero que necesitas saber es qué línea del archivo quieres modificar. Supongamos que quieres modificar aquellas líneas que contengan 14 y cambiar ese 14 por un 12. Una forma de hacerlo sería leer los datos del archivo y guardarlos en un array, pero allí donde se detecte un 14 en vez de guardar el 14 guardamos el 12. Después escribimos el fichero (con lo cual destruimos lo existente anteriormente) con el contenido del nuevo array. No he probado el código con lo cual no te puedo asegurar que funcione a la primera. La idea sería un código así:
from array import *
# Lectura del contenido del fichero
try:
ins = open( "file.txt", "r" )
contenidoLinea = []
for line in ins:
if line == 14:
insertamos = 12
else:
insertamos = line
contenidoLinea.append( insertamos )
ins.close()
finally:
f.close()
except IOError:
pass
# Escritura del nuevo contenido del fichero
try:
# Escribimos el fichero
f = open("file.txt", "w")
try:
for idx, val in enumerate(contenidoLinea):
f.writelines(contenidoLinea[idx]) # Escribimos la línea
finally:
f.close()
except IOError:
pass
-
Disculpa nunca he participado de foros jaja es que realmente me urgía tener una respuesta.. no vuelve a pasar :) pero muchas gracias realmente la lógica de su respuesta de destruir y volver a escribir me ayudo mucho. muchas gracias :D
-
De nada, ya me extrañaba que no hubieras respondido :D