Книга: Введение в Python

Как узнать позицию указателя в файле в Python.

Как узнать позицию указателя в файле в Python.

После того как вы вызвали метод read() на файловом объекте, если вы повторно вызовете read(), то увидите лишь пустую строку. Это происходит потому, что после первого прочтения указатель находится вконце файла. Для того чтобы узнать позицию указателя можно использовать метод tell().

Например:

| my_file = open("some.txt")
| my_file.read(10)
| print ("Я на позиции: ", my_file.tell())
| my_file.close()

Говоря проще, метод tell() сообщает в скольки байтах от начала файла мы сейчас находимся.

Чтобы перейти на нужную нам позицию, следует использовать другой метод - seek().

Синтаксис метода seek().

| my_file.seek(offset, [from])

Аргумент offset указывет на сколько байт перейти. опциональный аргумент from означает позицию, с которой начинается движение. 0 - означает начало файла, 1 нынешняя позиция, 2 - конец файла.

The seek(offset[, from]) method changes the current file position. The offset argument indicates the number of bytes to be moved. The from argument specifies the reference position from where the bytes are to be moved.

Например:

| my_file = open("some.txt", "r")
| print (my_file.read(10))
| print ("Мы находимся на позиции: ", my_file.tell())
| # Возвращаемся в начало
| my_file.seek(0)
| print (my_file.read(10))
| my_file.close()

Оглавление книги


Генерация: 1.344. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз