Найди свою цель с помощью Seek
Метод seek() в Python используется для перемещения текущей позиции в файле. Он принимает один аргумент – позицию, на которую нужно переместить позицию чтения или записи файла. Позиция задается в байтах от начала файла.
Вот пример доступа к файлу с использованием метода seek():
with open('file.txt', 'rb') as f:
f.seek(10)
print(f.read())
В этом примере мы открываем файл file.txt в режиме чтения с помощью функции open(). Мы указываем режим 'rb', который означает, что мы читаем файл в двоичном режиме. Затем мы используем метод seek(), чтобы переместить позицию чтения файла на 10 байт от начала файла. Наконец, мы используем метод read() для чтения данных из файла начиная с текущей позиции чтения.
Если файл открыт в текстовом режиме, мы можем использовать метод seek() точно так же, как в приведенном выше примере:
with open('file.txt') as f:
f.seek(10)
print(f.read())
Обратите внимание, что в этом примере мы не указываем режим чтения, поскольку значение по умолчанию - режим чтения текста.
Метод seek() также может использоваться для установки текущей позиции записи при открытии файла в режиме записи. Вот пример:
with open('file.txt', 'w') as f:
f.seek(10)
f.write('Hello, world!')
В этом примере мы открываем файл file.txt для записи с помощью функции open(). Мы используем метод seek(), чтобы установить текущую позицию записи в 10 байт от начала файла. Затем мы используем метод write(), чтобы записать строку 'Hello, world!' в файл начиная с текущей позиции записи.
Метод seek() также предоставляет два дополнительных аргумента - whence и offset.
Аргумент whence определяет, как интерпретировать значение offset. Он может принимать одно из трех значений:
* 0 (по умолчанию) – текущая позиция перемещается от начала файла на offset байт;
* 1 – текущая позиция перемещается от текущей позиции на offset байт;
* 2 – текущая позиция перемещается от конца файла назад на offset байт.
Аргумент offset определяет количество байтов для перемещения текущей позиции чтения или записи.
Вот пример использования двух аргументов метода seek():
with open('file.txt', 'rb') as f:
f.seek(-10, 2)
print(f.read())
В этом примере мы открываем файл file.txt в режиме чтения в двоичном режиме. Мы используем метод seek() с двумя аргументами: offset=-10 и whence=2. Значение -10 указывает, что мы перемещаем текущую позицию чтения на 10 байт от конца файла назад. Значение 2 указывает, что мы используем относительную позицию от конца файла. Затем мы используем метод read() для чтения данных начиная с текущей позиции чтения.
В заключение, метод seek() позволяет перемещать текущую позицию чтения или записи файла. Он может быть использован с файлами в текстовом и двоичном режимах. Аргументы метода seek() позволяют управлять способом перемещения текущей позиции и ее относительным положением.