|
||||||||||||||||||||||||||||||||||||||||||||||||||||
Работа с файлами в Python / tell / seek
Время создания: 10.09.2017 11:08
Текстовые метки: knowledge
Раздел: Python - files
Запись: xintrea/mytetra_db_mcold/master/base/1505030906k8o2bkrjjs/text.html на raw.githubusercontent.com
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
Работа с файлами в Python Published: 21 May 2015 Hits: 115712
До теперь мы работали только с объектами, сохраненными в оперативной памяти компьютера. То есть после завершения работы программы все наши действия удалялись. Сегодня мы научимся работать с файлами в Python, то есть сохранять состояние программы в файле на жестком диске.
Открытие и закрытие файла в Python. Перед тем как прочесть и записать что-либо в файл, его следует открыть. Чтобы открыть файл в Pythonиспользуется встроенная функция open(). При вызове, эта функция создает объект типа файл, с которым в дальнейшем можно работать. Синтаксис функции open() в Python. my_file = open(имя_файла [, режим_доступа][, буферизация]) При этом: имя_файла: строка, содержащая имя файла с расширением. Например, "my_file.txt". режим_доступа: строка, которой мы указываем для чего открывается файл: для чтения, записи, добавления информации, и т.д. Например, "w". По умолчанию файл открывается для чтения - "r". буферизация: Челое число. Если значение аргумента указано 0 - файл открывается без буферизации, 1 с построчной буферизацией, больше одного процесс буферизации выполняется с указанным размером буфера. Отрицательное число - разер буфера будет равен системному. Список режимов доступа к файлу в Python.
Атрибуты файлового объекта в Python. Как только файл был открыт и у вас появился файловый объект, вы можете получить следующую информацию о нем:
Например:
Закрытие файла в Python. Метод close(). Метод файлового объекта close() автоматически закрывает файл, при этом теряется любая несохраненная информация. Работать с файлом (читать, записывать) после этого нельзя. Python автоматически закрывает файл если файловый объект к которому он привязан присваивается другому файлу. Однако, хорошей практикой будет вручную закрывать файл командой close().
Чтение и запись файлов в Python Для файлового объекта доступен целый набор методов, чтобы облегчить нашу работу с файлом. Запись в файл в Python. Метод write(). Метод write() записывает любую строку в открытый файл. Важно помнить, что строки в Python могут содержать двоичные данные, а не только текст. Метод write() не добавляет символ переноса строки ('\n') в конец файла. Синтаксис метода write().
Например:
Вышеприведенный код создаст файл some.txt и запишет в него указанную строку. Чтение из файла в Python. Метод read(). Метод read() читает строку из открытого файла. Синтаксис метода read().
Необязательный параметр count - это количество байт, которые следует прочитать из открытого файла. Этот метод читает информацию с начала файла и, если параметр count не указан, до конца файла. Например, прочтем созданный нами файл some.txt:
Как узнать позицию указателя в файле в Python. После того как вы вызвали метод read() на файловом объекте, если вы повторно вызовете read(), то увидите лишь пустую строку. Это происходит потому, что после первого прочтения указатель находится вконце файла. Для того чтобы узнать позицию указателя можно использовать метод tell(). Например:
Говоря проще, метод tell() сообщает в скольки байтах от начала файла мы сейчас находимся. Чтобы перейти на нужную нам позицию, следует использовать другой метод - seek(). Синтаксис метода seek().
Аргумент 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. Например:
Добавление в файл. Метод write() Если вы хотите не перезаписать файл полностью (что делает метод write в случае открытия файла в режиме 'w'), а только добаить какой-либо текст, то файл следует открывать в режиме 'a' - appending. После чего использовать все тот же метод write. Например:
Расширенная работа с файлами в Python. Для доступа к более широкому функционалу в работе с файлами в Python, как то удаление файлов, создание директорий и т.д. Следует подключить библиотеку os. Скоро выйдут статьи с примерами. |
||||||||||||||||||||||||||||||||||||||||||||||||||||
Так же в этом разделе:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|