fd.seek () IOError: [Errno 22] Недействительный аргумент

Мой интерпретатор Python (v2.6.5) повышает вышеупомянутую ошибку в следующем codepart:

fd = open("some_filename", "r")
fd.seek(-2, os.SEEK_END) #same happens if you exchange the second arg. w/ 2
data=fd.read(2);

последняя возможность является fd.seek ()

Traceback (most recent call last):
    File "bot.py", line 250, in <module>
        fd.seek(iterator, os.SEEK_END);
IOError: [Errno 22] Invalid argument

Странная вещь с этим состоит в том, что исключение происходит как раз в то самое время, когда, выполняя мой весь код, не если только определенная часть с открытием файла. Во времени выполнения этой части кода определенно существует открытый файл, диск не полон, переменный "итератор" содержит правильное значение как в первом codeblock. Какова могла быть моя ошибка?

Заранее спасибо

6
задан Julian 27 April 2010 в 18:44
поделиться

1 ответ

Из lseek (2) :

EINVAL

откуда не входит в SEEK_SET, SEEK_CUR, SEEK_END; или результирующее смещение файла будет отрицательным, или за пределами конца устройства, доступного для поиска.

Поэтому еще раз проверьте значение итератора итератора .

5
ответ дан 17 December 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: