Что именно возвращает функция 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
Последняя информация может быть более легко кэширована ОС, поэтому часто будет быстрее.