Hola!.
Supongo que es indiferente que sea en gambas o en Python.
Es un tema común.
He terminado una practica en Python que abre dos archivos:
- Uno para leer el contenido del archivo. (modo lectura)
- Otro para escribir en el, una serie de resultados. (modo escritura)
El error que ocurre al final, es que no se graban los datos en el archivo donde pretendemos grabar los resultados.
La solución fue cerrar el archivo que estaba abierto para escribir en el. Aunque se cerraron los dos archivos.
¿ Es necesario siempre cerrar los archivos aunque sean abiertos para lectura ?.
Da entender que debe haber un proceso por el cual no se guarda el archivo hasta que no se cierra este.
No estamos hablando de file.open o file.save, sino de open archivo for modo_que_sea.
Quizás las formas file.open y file.save no necesitan tanta instrucción.
Pero lo de antes era los métodos tradicionales con archivos de texto.
Saludos
Cuando Se Debe Cerrar Un Archivo De Texto
Objetivo: Cuando Se Debe Cerrar Un Archivo De Texto
última edición por Shell el Sabado, 24 May 2014, 13:12; editado 1 vez
última edición por Shell el Sabado, 24 May 2014, 13:12; editado 1 vez
Objetivo: Re: Cuando Se Debe Cerrar Un Archivo De Texto
última edición por vuott el Sabado, 24 May 2014, 14:38; editado 4 veces
Perdóname, tu dices que no funciona una cosa así?
última edición por vuott el Sabado, 24 May 2014, 14:38; editado 4 veces
Objetivo: Re: Cuando Se Debe Cerrar Un Archivo De Texto
Hola vuott.
Si, si funciona. Como ves, has cerrado los dos archivos al final.
Has cerrado tanto el archivo que se leen los datos y también en el que has escrito datos.
Lo que quiere decir, que un archivo abierto sea para el modo que sea, debe ser cerrado
siempre que se haya acabado su lectura o escritura. ( Cuando ya no lo necesitamos)
La cuestión es, ¿ se habrían grabado los datos al archivo de escritura (cerrándolo) si no se hubiera cerrado el de lectura ?.
( Debería ser si). Solo que por norma, se deben cerrar los dos, cuando ya no se necesita leer o escribir en ellos.
Saludos
Si, si funciona. Como ves, has cerrado los dos archivos al final.
Has cerrado tanto el archivo que se leen los datos y también en el que has escrito datos.
Lo que quiere decir, que un archivo abierto sea para el modo que sea, debe ser cerrado
siempre que se haya acabado su lectura o escritura. ( Cuando ya no lo necesitamos)
La cuestión es, ¿ se habrían grabado los datos al archivo de escritura (cerrándolo) si no se hubiera cerrado el de lectura ?.
( Debería ser si). Solo que por norma, se deben cerrar los dos, cuando ya no se necesita leer o escribir en ellos.
Saludos
Objetivo: Re: Cuando Se Debe Cerrar Un Archivo De Texto
Siempre hay que cerrar los archivos que se abren, indistintamente para lectura, escritura ya sean de texto o binarios.
En Python se puede usar junto con la instrucción 'With', que cierra automáticamente el fichero al final, pero en gambas no he probado nunca esa forma...
Saludos
En Python se puede usar junto con la instrucción 'With', que cierra automáticamente el fichero al final, pero en gambas no he probado nunca esa forma...
with open('fichero.txt', 'r') as f:
datos = f.read()
# procesar datos
datos = f.read()
# procesar datos
Saludos
Objetivo: Re: Cuando Se Debe Cerrar Un Archivo De Texto
última edición por Shell el Sabado, 24 May 2014, 20:42; editado 1 vez
Jesús:
Vaya, esa forma con With en Python no la conocía.
Si vi esta:
Y usar los métodos readline() o read() según convenga.
El método read() es lo mas parecido a file.open() de Gambas
Saludos
Vaya, esa forma con With en Python no la conocía.
Si vi esta:
# Especificamos el nombre del archivo
flanders_filename = "FlandersFields.txt"
# Especificamos el modo lectura para open
flanders_file = open(flanders_filename,'r')
flanders_filename = "FlandersFields.txt"
# Especificamos el modo lectura para open
flanders_file = open(flanders_filename,'r')
Y usar los métodos readline() o read() según convenga.
El método read() es lo mas parecido a file.open() de Gambas
Saludos
última edición por Shell el Sabado, 24 May 2014, 20:42; editado 1 vez
Página 1 de 1
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.2568s (PHP: -58% SQL: 158%)
Consultas SQL: 31 - Debug off - GZIP Activado