Файлы. Работа с файлами в Python.



Дорогие друзья, пришло время научится работать с файлами в Python, то есть сохранять состояние программы в файле на жестком диске. Прежде, чем работать с файлом, его надо открыть. С этим замечательно справится встроенная функция open:

Синтаксис функции open()

my_file = open(имя_файла [, режим_доступа][, буферизация])

При этом:

имя_файла: строка, содержащая имя файла с расширением. Например, «my_file.txt».

режим_доступа: строка, которой мы указываем для чего открывается файл: для чтения, записи, добавления информации, и т.д. Например, «w». По умолчанию файл открывается для чтения — «r».

буферизация: Челое число. Если значение аргумента указано 0 — файл открывается без буферизации, 1 с построчной буферизацией, больше одного процесс буферизации выполняется с указанным размером буфера. Отрицательное число — разер буфера будет равен системному.

Список режимов доступа к файлу

rОткрывает файл только для чтения. Указатель стоит в начале файла.
rbОткрывает файл для чтения в двоичном формате. Указатель стоит в начале файла.
r+Открывает файл для чтения и записи. Указатель стоит в начале файла.
rb+Открывает файл для чтения и записи в двоичном формате. Указатель стоит в начале файла.
wОткрывает файл только для записи. Указатель стоит в начале файла. Создает файл с именем имя_файла, если такового не существует.
wbОткрывает файл для записи в двоичном формате. Указатель стоит в начале файла. Создает файл с именем имя_файла, если такового не существует.
w+Открывает файл для чтения и записи. Указатель стоит в начале файла. Создает файл с именем имя_файла, если такового не существует.
wb+Открывает файл для чтения и записи в двоичном формате. Указатель стоит в начале файла. Создает файл с именем имя_файла, если такового не существует.
aОткрывает файл для добавления информации в файл. Указатель стоит в конце файла. Создает файл с именем имя_файла, если такового не существует.
abОткрывает файл для добавления в двоичном формате. Указатель стоит в конце файла. Создает файл с именем имя_файла, если такового не существует.
a+Открывает файл для добавления и чтения. Указатель стоит в конце файла. Создает файл с именем имя_файла, если такового не существует.
ab+Открывает файл для добавления и чтения в двоичном формате. Указатель стоит в конце файла. Создает файл с именем имя_файла, если такового не существует.

Чтение файла

Вот открыли мы файл, но а теперь нужно прочитать из него информацию. Для этого есть несколько способов, но большого интереса заслуживают лишь два из них.

Первый — метод read() читает строку из открытого файла.

my_file.read([count])

Необязательный параметр count — это количество байт, которые следует прочитать из открытого файла. Этот метод читает информацию с начала файла и, если параметр count не указан, до конца файла. Например, прочтем созданный файл some.txt:

my_file = open("some.txt")
my_string = my_file.read()
print("Было прочитано:")
print(my_string)
my_file.close()

Ещё один способ сделать это — прочитать файл построчно, воспользовавшись циклом for:

>>> f = open('text.txt')
>>> for line in f:
...     line
...
'Hello world!\n'
'\n'
'The end.\n'
'\n'

Запись файла

Метод write() записывает любую строку в открытый файл. Важно помнить, что строки в Python могут содержать двоичные данные, а не только текст. Метод write() не добавляет символ переноса строки (‘\n’) в конец файла.

Синтаксис метода write():
my_file.write(string);
my_file = open("primer.txt", "w")
my_file.write("Мне нравится Python!\nЭто классный язык!")
my_file.close()

Вышеприведенный код создаст файл primer.txt и запишет в него указанную строку.

Атрибуты файлового объекта

Как только файл был открыт и появился файловый объект, можно получить следующую информацию о нем:

file.closedВозвращает True если файл был закрыт.
file.modeВозвращает режим доступа, с которым был открыт файл.
file.nameВозвращает имя файла.
file.softspaceВозвращает False если при выводе содержимого файла следует отдельно добавлять пробел.

Например:

my_file = open("primer.txt", "w")
print("Имя файла: ", my_file.name)
print("Файл закрыт: ", my_file.closed)
print("В каком режиме файл открыт: ", my_file.mode)
print("Пробелы: ", my_file.softspace)

Закрытие файла

Python автоматически закрывает файл если файловый объект к которому он привязан присваивается другому файлу. Однако, хорошей практикой будет вручную закрывать файл командой close(). Например:

my_file = open("primer.txt")
print("Имя файла: ", my_file.name)
print("Файл закрыт: ", my_file.closed)
my_file.close()
print("А теперь закрыт: ", my_file.closed)

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Chinese (Traditional)EnglishJapaneseRussianUkrainian

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: