все Python 3Файлы и I/Oфункция
io.IOBase.tell()
позиция в файле
Возвращает текущую позицию в файле: в бинарном режиме — смещение в байтах, в текстовом — непрозрачное число для seek().
Синтаксис
file.tell() -> int
В бинарном режиме tell() отдаёт настоящее смещение в байтах, а в текстовом — непрозрачное число: с ним нельзя делать арифметику, единственное законное применение — вернуть его обратно в seek(). Поэтому, если нужно прыгать на N байт вперёд и считать позиции, файл открывают с 'b'. В текстовом режиме ещё и переводы строк транслируются, так что число из tell() не совпадает с количеством прочитанных символов.
Примеры
with open('data.txt', 'wb') as f:
f.write(b'hello world')
with open('data.txt', 'rb') as f:
f.read(5)
print(f.tell()) # → 5
f.read(3)
print(f.tell()) # → 8
f.seek(0) # вернуться в начало
print(f.tell()) # → 0
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности