Функция open() в Python
Функция open() в Python используется для открытия файла, создаваяфайловыйобъект, чтобы можно было вызывать связанные методы для чтения и записи.
Для получения дополнительной информации о файловых операциях см.:Файловый ввод-вывод в Python。
Синтаксис функции
open(name[, mode[, buffering]])
Описание параметра:
name: строковое значение, содержащее имя файла, к которому вы хотите получить доступ.
mode: режим определяет, в каком режиме открывается файл: только для чтения, запись, добавление и т. д. Полный список всех возможных значений см. ниже. Этот параметр необязателен; режим доступа к файлу по умолчанию — только для чтения (r).
buffering: если значение buffering равно 0, буферизация не выполняется. Если значение buffering равно 1, при доступе к файлу буферизуются строки. Если значение buffering — целое число больше 1, оно указывает размер буфера области буферизации. Если используется отрицательное значение, размер буфера соответствует системному значению по умолчанию.
Полный список различных режимов открытия файлов:
| Mode | Описание |
|---|---|
| t | Текстовый режим (по умолчанию). |
| x | Режим записи, создаёт новый файл; если файл уже существует, будет сообщено об ошибке. |
| b | Двоичный режим. |
| + | Открыть файл для обновления (доступен для чтения и записи). |
| U | Универсальный режим новой строки (не рекомендуется). |
| r | Открыть файл в режиме только для чтения. Указатель файла будет установлен в начало файла. Это режим по умолчанию. |
| rb | Открыть файл в бинарном формате только для чтения. Указатель файла будет установлен в начало файла. Это режим по умолчанию. Обычно используется для нетекстовых файлов, таких как изображения. |
| r+ | Открыть файл для чтения и записи. Указатель файла будет установлен в начало файла. |
| rb+ | Открыть файл в бинарном формате для чтения и записи. Указатель файла будет установлен в начало файла. Обычно используется для нетекстовых файлов, таких как изображения. |
| w | Открыть файл только для записи. Если файл уже существует, откройте файл и редактируйте с начала, то есть исходное содержимое будет удалено. Если файл не существует, создайте новый файл. |
| wb | Открыть файл в бинарном формате только для записи. Если файл уже существует, откройте файл и редактируйте с начала, то есть исходное содержимое будет удалено. Если файл не существует, создайте новый файл. Обычно используется для нетекстовых файлов, таких как изображения. |
| w+ | Открыть файл для чтения и записи. Если файл уже существует, открыть файл и редактировать с начала, то есть исходное содержимое будет удалено. Если файл не существует, создать новый файл. |
| wb+ | Открыть файл в бинарном формате для чтения и записи. Если файл уже существует, открыть файл и редактировать с начала, то есть исходное содержимое будет удалено. Если файл не существует, создать новый файл. Обычно используется для нетекстовых файлов, таких как изображения. |
| a | Открыть файл для добавления. Если файл уже существует, указатель файла будет установлен в конец файла. То есть новое содержимое будет записано после существующего содержимого. Если файл не существует, создать новый файл для записи. |
| ab | Открыть файл в бинарном формате для добавления. Если файл уже существует, указатель файла будет установлен в конец файла. То есть новое содержимое будет записано после существующего содержимого. Если файл не существует, создать новый файл для записи. |
| a+ | Открыть файл для чтения и записи. Если файл уже существует, указатель файла будет помещён в конец файла. Файл будет открыт в режиме добавления. Если файла не существует, создайте новый файл для чтения и записи. |
| ab+ | Открыть файл в двоичном формате для добавления. Если файл уже существует, указатель файла будет помещён в конец файла. Если файла не существует, создайте новый файл для чтения и записи. |
Методы файлового объекта
-
file.read([size]): Если size не указан, возвращается весь файл. Если размер файла превышает удвоенный объём памяти, возникнет проблема. f.read() возвращает "" (пустую строку), когда чтение доходит до конца файла.
file.readline(): Возвращает одну строку.
file.readlines([size]) : Возвращает список, содержащий size строк; если size не указан, возвращает все строки.
for line in f: print line : Доступ через итератор.
f.write("hello\n"): Если нужно записать данные, отличные от строки, сначала преобразуйте их в строку.
f.tell(): Возвращает целое число, указывающее текущую позицию указателя файла (то есть количество байтов от начала файла).
f.seek(offset, [start_position]): Используется для перемещения указателя файла.
- Смещение: в байтах, может быть положительным или отрицательным.
- Начальная позиция: 0 — начало файла, значение по умолчанию; 1 — текущая позиция; 2 — конец файла
f.close()Закрыть файл
Для получения дополнительной информации обратитесь к:Методы файла Python (file)
Примеры
Тестовый файл test.txt, содержимое следующее:
EXAMPLE1 EXAMPLE2
Встроенные функции Python