Я пишу script, который регистрирует ошибки из другой программы и перезапускает программу, где она остановилась при обнаружении ошибки. По каким-то причинам разработчики этой программы не считали необходимым поместить эту функциональность в свою программу по умолчанию.
В любом случае программа принимает входной файл, анализирует его и создает выходной файл. Входной файл находится в определенном формате:
UI - 26474845
TI - the title (can be any number of lines)
AB - the abstract (can also be any number of lines)
Когда программа выдает ошибку, она дает вам справочную информацию, необходимую для отслеживания ошибки, а именно: пользовательский интерфейс, какой раздел (название или реферат) и номер строки относительно начала заголовка или абстракции. Я хочу записать нарушающие предложения из входного файла с функцией, которая принимает номер ссылки и файл, находит предложение и записывает его в журнал. Лучший способ, который я мог бы сделать, - это перемещаться вперед по файлу определенное количество раз (а именно, n раз, где n - номер строки относительно начала seciton). Способ, который, как представляется, имеет смысл сделать это:
i = 1
while i <= lineNumber:
print original.readline()
i += 1
Я не вижу, как это может заставить меня потерять данные, но Python думает, что это будет, и говорит ValueError: Mixing iteration and read methods would lose data
. Кто-нибудь знает, как это сделать должным образом?