8.8. Приложение № 5. Операторы и функции файлового ввода-вывода на языке Python
МЕТОД |
OPEN |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"дескриптор" = open( "имя", "режим" ), где
-
"дескриптор" - переменная с любым уникальным именем, обозначающая дескриптор файла;
-
"имя" - имя и путь к файлу;
-
"режим" - один из следующих режимов открытия файла:
-
w Открыть файл для записи. Если такой файл уже существует, то его содержимое исчезает (если это возможно).
-
r Открыть файл только для чтения.
-
a Открыть файл для добавления, т.е. записи в конец файла. Предыдущее содержимое файла сохраняется.
-
r+ Открыть файл для записи/чтения, содержимое файла сохраняется.
-
w+ Открыть файл для записи/чтения, содержимое файла исчезает (смотри w ).
-
r+b Открыть двоичный (если такие файлы поддерживаются операционной системой) файл для записи/чтения, содержимое файла сохраняется.
-
w+b Открыть двоичный файл для записи/чтения, содержимое файла исчезает (смотри w ).
-
rb Открыть двоичный файл только для чтения.
-
wb Открыть двоичный файл для записи. Если такой файл уже существует, то его содержимое исчезает (если это возможно).
|
НАЗНАЧЕНИЕ: |
Открывает файловый объект для последующего оперирования с ним; |
ОПИСАНИЕ: |
Функция принимает два параметра: строку, содержащую путь к файлу (может быть абсолютным или относительным текущего каталога или переменной окружения PATH ) и режимом открытия файла. Режим открытия файла определяет допустимые операции доступа к файлу; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Дескриптор открытого файла; |
ПЕРЕНОСИМОСТЬ: |
Везде; |
МЕТОД |
READ |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"строка" = "дескриптор".read(["число байт"]) ; где
-
"строка" - прочтённая из файла строка;
-
"дескриптор" - дескриптор файла, открытый функцией: open ;
-
"число байт" - число прочтённых из файла символов (не обязательный параметр);
|
НАЗНАЧЕНИЕ: |
Данный метод читает из файла, открытого для чтения, число байтов, указанных в качестве аргумента; |
ОПИСАНИЕ: |
Данный метод читает из файла, открытого для чтения, число байтов, указанных в качестве аргумента. Если метод вызывается без параметров, то читается весь файл, если файл был прочитан до конца (встретился символ EOF), то метод read() возвращает пустую строку; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Строка символов или пустая строка, если достигнут конец файла; |
ПЕРЕНОСИМОСТЬ: |
Везде; |
МЕТОД |
READLINE |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"строка" = "дескриптор".readline() ; где
-
"строка" - прочтённая из файла строка;
-
"дескриптор" - дескриптор файла, открытый функцией: open ;
|
НАЗНАЧЕНИЕ: |
Метод readline() читает одну строку файла до символа перевода строки (включая сам символ \n ); |
ОПИСАНИЕ: |
Метод readline() читает одну строку файла до символа перевода строки (включая сам символ \n ). Если строка состоит только из символа перевода строки, то метод readline() возвращает пустую строку. Если в конце файла нет пустой строки с символом \n, то возвращаемый результат не определён (этого допускать нельзя); |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
прочтённая из файла строка текста; |
ПЕРЕНОСИМОСТЬ: |
|
МЕТОД |
READLINES |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"список" = "дескриптор".readlines(["размер строки"]) ; где
-
"список" - прочтённая из файла строки текста, помещённые в переменную список;
-
"дескриптор" - дескриптор файла, открытый функцией: open ;
-
"размер строки" - минимальная длина строки (не обязательный параметр);
|
НАЗНАЧЕНИЕ: |
Метод читает все строки файла в список; |
ОПИСАНИЕ: |
Читаются только законченные строки. Необязательный параметр "размер_строки" читает строку, и, если она меньше указанной длины, читает дальше, до достижения указанного числа символов. Такой приём эффективен для чтения очень больших файлов построчно без необходимости размещения его в памяти; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Переменная, содержащая в себе список строк; |
ПЕРЕНОСИМОСТЬ: |
Везде; |
МЕТОД |
WRITE |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"дескриптор".write("строка текста") ; где
-
"дескриптор" - дескриптор файла, открытый функцией: open ;
-
"строка текста" - выводимая в файл строка текста;
|
НАЗНАЧЕНИЕ: |
Метод write пишет в файл указанную строку, ничего при этом не возвращая; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Отсутствует; |
ПЕРЕНОСИМОСТЬ: |
Везде; |
МЕТОД |
SEEK |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"дескриптор".seek("на_сколько_байт"[, "откуда"]), где
-
"дескриптор" - дескриптор файла, открытый функцией: open ;
-
"на_сколько_байт" - на какое расстояние (в байтах) перемещается текущее положение файла. Это положение может быть положительным и отрицательным;
-
"откуда" - "точка отсчёта", откуда будет отсчитываться смещение файла (не обязательный параметр).
|
Его значение следующее (Смотри таблицу 8.1):
0(по умолчанию) |
1 |
2 |
Начало файла |
текущая позиция в файле |
конец файла |
НАЗНАЧЕНИЕ: |
Метод seek перемещает указатель текущего положения файла на заданное количество байт от позиции, указанной вторым аргументом; |
ОПИСАНИЕ: |
При этом, число байт для перемещения может быть как положительным, так и отрицательным (при перемещении назад); |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Отсутствует; |
ПЕРЕНОСИМОСТЬ: |
Везде; |
МЕТОД |
TELL |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"позиция" = "дескриптор".tell() ; где
-
"дескриптор" - дескриптор файла, открытый функцией: open ;
-
"позиция" - число, означающее смещение текущей позиции файла от его начала;
|
НАЗНАЧЕНИЕ: |
Метод tell() возвращает текущую позицию в файле; |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Целое положительное число, выражающее смещение текущей позиции файла от его начала; |
ПЕРЕНОСИМОСТЬ: |
Везде; |
МЕТОД |
CLOSE |
ОПРЕДЕЛЕН В: |
System; |
СИНТАКСИС: |
"дескриптор".close() ; где "дескриптор" - дескриптор файла, открытый функцией: open ; |
НАЗНАЧЕНИЕ: |
Закрывает объект файла; |
ОПИСАНИЕ: |
Метод close() закрывает объект файла, перенося все сделанные в нём изменения на диск, возвращая ресурсы операционной системе. Обязательно закрывайте все файлы, которые Вы больше не используете, т.к. не закрытый файл может привести к потере данных. После закрытия обращение к объекту файла автоматически вызывает ошибку. |
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ: |
Отсутствует; |
ПЕРЕНОСИМОСТЬ: |
Везде; |