Перемещает указатель текущей позиции в файле к указанному месту.
seek(offset[, from_what])
-> int
offset -- Смещение в байтах, относительно позиции, определяемой аргументом from_what.

from_what=0 -- Откуда следует осуществить смещение. '0' - от начала файла; '1' - от текущей позиции; '2' - от конца файла.

Подобно функции fseek() (см. заголовочный файла stdio) устанавливает указатель текущей позиции в файле на новое место.

    with open('myfile.txt', 'r+') as f:
f.write('0123456789abcdef')
f.seek(5) # Перемещаемся к 6-му байту от начала файла.
f.read(1) # '5'
f.seek(-3, 2) # Перемещаемся к третьему байту от конца файла.
f.read(1) # 'd'

Работа при разных режимах доступа к файлу

Если файл открыт в режиме добавления данных (a или a+) любые изменения, сделанные функцией seek() будут отменены при последующей записи. Несмотря на то, что при использовании a функция, по сути, ничего не делает, её, однако же, вполне можно использовать в режиме a+.

Если файл открыт в текстовом режиме - без указания b (+py3 в режиме t) , допускается указание только смещений, возвращаемых tell(), поведение при указании других значений неопределено.

Подробнее о режимах доступа читайте в описании функции open()

.. warning:: Не все типы объектов-файлов поддерживают перемещение указателя.
Синонимы поиска: file.seek, file, seek
На заметку
Зарегистрированные пользователи могут получать еженедельный дайджест обновлений на сайте.