Что именно возвращает функция tell() и как я могу использовать его для вычисления процента чтения файла?

Я использую Python 2.7 в Windows, и я новичок в Python, так что простите, если это легко.

Все, что я прочитал, говорит, что tell() возвращает "позицию", которая, как я полагаю, является в основном позицией курсора, в которой мы сейчас находимся при чтении. Хорошо, это звучит полезно, но я не могу понять, как найти общие "позиции" файла для расчета процента.

1 ответ

Решение

Вы можете искать до конца файла, а затем позвонить .tell():

import os

fileobj.seek(0, os.SEEK_END)
size = fileobj.tell()
fileobj.seek(0, os.SEEK_SET)

В приведенном выше примере используется os.SEEK_* константы, чтобы установить, как интерпретировать смещение поиска (первый аргумент .seek()).

или вы можете использовать os.fstat() Функция для получения размера вашего открытого файла:

import os

size = os.fstat(fileobj.fileno()).st_size

Последняя информация может быть более легко кэширована ОС, поэтому часто будет быстрее.

Другие вопросы по тегам