Estoy escribiendo una secuencia de comandos que registra errores de otro programa y reinicia el programa donde se quedó cuando se produce un error. Por las razones que sean, los desarrolladores de este programa no consideraron necesario incluir esta funcionalidad en su programa de forma predeterminada.Mezcla de archivos y bucles
De todos modos, el programa toma un archivo de entrada, lo analiza y crea un archivo de salida. El archivo de entrada está en un formato específico:
UI - 26474845
TI - the title (can be any number of lines)
AB - the abstract (can also be any number of lines)
Cuando el programa genera un error, que siempre tenga la información de referencia que necesita para rastrear el error - a saber, la interfaz de usuario, que la sección (título o el resumen), y el número de línea relativo al comienzo del título o resumen. Quiero registrar las oraciones ofensivas del archivo de entrada con una función que toma el número de referencia y el archivo, encuentra la oración y la registra. La mejor manera de pensar en hacerlo es avanzar en el archivo un número específico de veces (es decir, n veces, donde n es el número de línea relativo al comienzo del sector). La forma en que parecía tener sentido de hacer esto es:
i = 1
while i <= lineNumber:
print original.readline()
i += 1
No veo cómo esto me haría perder datos, pero Python cree que lo haría, y dice ValueError: Mixing iteration and read methods would lose data
. ¿Alguien sabe cómo hacer esto correctamente?
-1: Código falta en el fragmento. Probablemente haya un "para algo en el original:" que falta en el código que se muestra. –