Как решить «Ошибка OS: указание позиции отключено вызовом next()»Python

Программы на Python
Anonymous
Как решить «Ошибка OS: указание позиции отключено вызовом next()»

Сообщение Anonymous »

Я создаю систему редактирования файлов и хотел бы создать функцию Tell(), основанную на строке, а не на основе байтов. Эта функция будет использоваться внутри цикла with с вызовом open(file). Эта функция является частью класса, который имеет:

Код: Выделить всё

self.f = open(self.file, 'a+')
# self.file is a string that has the filename in it
Ниже приведена исходная функция
(она также имеет настройку символов, если вы хотите вернуть строку или байт):

Код: Выделить всё

def tell(self, char=False):
t, lc = self.f.tell(), 0
self.f.seek(0)
for line in self.f:
if t >= len(line):
t -= len(line)
lc += 1
else:
break
if char:
return lc, t
return lc
Проблема, с которой я столкнулся, заключается в том, что это возвращает ошибку OSError, и это связано с тем, как система перебирает файл, но я не понимаю, в чем проблема. Спасибо всем, кто может помочь.

Подробнее здесь: https://stackoverflow.com/questions/296 ... -next-call

Вернуться в «Python»