0 знаков
42. Итоги раздела «Работа с файлами в Python»
Уроки раздела «Работа с файлами в Python»
В разделе «Работа с файлами в Python» научились работать с файлами встроенными средствами языка Python.
Краткий пересказ раздела «Работа с файлами в Python»
В первом уроке узнали как открывать файлы, в каких режимах можно это сделать и что возвращает функция open()
. Определили относительный и абсолютный путь до файла, научились читать файл и записывать в него. Поговорили о кодировке файла.
В следующем уроке разобрались с более прогрессивным и надежным способом работы с файлами, при помощи конструкции with/as
.
Новая информация из раздела «Работа с файлами в Python»
Открыть файл для чтения можно следующим образом:
f = open('file.txt', 'r')
f = open('file.txt', mode='r')
Другие режимы (их можно комбинировать):
r
– открытие файла для чтение (используется по умолчанию);w
– открытие файла для записи, при этом все содержимое файла удаляется, а в случае отсутствия файла по указанному пути, он создается;x
– создание нового файла для записи (если файл уже существовал, то возникнет исключение;a
– открытие файла для записи, при этом содержимое не удаляется, а новая информация добавляется в конец файла;b
– открытие файла в бинарном режиме;t
– открытие файла в текстовом режиме (используется по умолчанию);+
- открытие файла для чтения и записи.
Функция open()
возвращает объект, который содержит имя, режим, состояние файла и другую информацию в своих атрибутах (что такое атрибуты классов узнаете позднее):
f = open('file.txt')
print(f.name) # => file.txt
print(f.mode) # => r
print(f.closed) # => False
Для вычисления абсолютного пути до файла следует подключить модуль os
и использовать метод abspath()
:
import os
print(os.path.abspath('file.txt')) # => C:\Users\Userile.txt
Использовать абсолютный путь с обратными слешами (\
) можно только с помощью спецификатора r
:
f = open(r'C:\Users\Userile.txt')
Для чтения из файла используйте метод read()
или цикл for
:
data = f.read()
print(data)
for line in f:
print(line)
Метод close()
закрывает файл:
f.close()
Метод write()
записывает строку в файл:
f.write("Строка")
При чтении или записи в файл могут возникнуть проблемы с кодировкой. Чтобы это решить, достаточно открыть файл в правильной кодировке. Используйте параметр encoding
функции open()
:
str = "Привет"
f = open('file.txt', 'a', encoding='utf-8')
f.write(str)
Для работы с файлами намного удобнее использовать оператор with/as
, которая работает как менеджер контекста:
Менеджеры контекстаМенеджеры контекста необходимы для выделения ресурсов и их освобождение за ненадобностью. В нашем случае, использование конструкции
with/as
при работе с файлами в Python гарантирует закрытие файла.
with open("file.txt", "r", encoding='utf-8') as f:
print(f.read())
Заключение
В следующем разделе познакомимся с итераторами. На самом деле, мы с ними знакомы практически с первого урока, а теперь настало время разобраться с ними детально.
Тест
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ