Искать
Вы превысили запрос на
0 знаков

42. Итоги раздела «Работа с файлами в Python»

Не пройден
0
0

Уроки раздела «Работа с файлами в Python»

- Введение в раздел «Работа с файлами в Python»

- Работа с файлами в Python

- Оператор with as для работы с файлами в Python

В разделе «Работа с файлами в Python» научились работать с файлами встроенными средствами языка Python.

Краткий пересказ раздела «Работа с файлами в Python»

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

В следующем уроке разобрались с более прогрессивным и надежным способом работы с файлами, при помощи конструкции with/as.

Новая информация из раздела «Работа с файлами в Python»

Открыть файл для чтения можно следующим образом:

Пример (python)
f = open('file.txt', 'r')
f = open('file.txt', mode='r') 

Другие режимы (их можно комбинировать):

  • r – открытие файла для чтение (используется по умолчанию);
  • w – открытие файла для записи, при этом все содержимое файла удаляется, а в случае отсутствия файла по указанному пути, он создается;
  • x – создание нового файла для записи (если файл уже существовал, то возникнет исключение;
  • a – открытие файла для записи, при этом содержимое не удаляется, а новая информация добавляется в конец файла;
  • b – открытие файла в бинарном режиме;
  • t – открытие файла в текстовом режиме (используется по умолчанию);
  • + - открытие файла для чтения и записи.

Функция open() возвращает объект, который содержит имя, режим, состояние файла и другую информацию в своих атрибутах (что такое атрибуты классов узнаете позднее):

Пример (python)
f = open('file.txt')

print(f.name)   # => file.txt
print(f.mode)   # => r
print(f.closed) # => False 

Для вычисления абсолютного пути до файла следует подключить модуль os и использовать метод abspath():

Пример (python)
import os
print(os.path.abspath('file.txt')) # => C:\Users\Userile.txt 

Использовать абсолютный путь с обратными слешами (\) можно только с помощью спецификатора r:

Пример (python)
f = open(r'C:\Users\Userile.txt') 

Для чтения из файла используйте метод read() или цикл for:

Пример (python)
data = f.read()  
print(data) 

Пример (python)
for line in f:
    print(line) 

Метод close() закрывает файл:

Пример (python)
f.close() 

Метод write() записывает строку в файл:

Пример (python)
f.write("Строка") 

При чтении или записи в файл могут возникнуть проблемы с кодировкой. Чтобы это решить, достаточно открыть файл в правильной кодировке. Используйте параметр encoding функции open():

Пример (python)
str = "Привет"  
f = open('file.txt', 'a', encoding='utf-8')  
f.write(str) 

Для работы с файлами намного удобнее использовать оператор with/as, которая работает как менеджер контекста:

Менеджеры контекста

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

Пример (python)
with open("file.txt", "r", encoding='utf-8') as f:
    print(f.read()) 

Заключение

В следующем разделе познакомимся с итераторами. На самом деле, мы с ними знакомы практически с первого урока, а теперь настало время разобраться с ними детально.

Тест

Две секундочки...

Похожие уроки Codebra

@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Работа с файлами в PythonЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Еще о возможностях модулей в PythonЗнакомство с Python
Написание модулей в PythonЗнакомство с Python
Генераторы и оператор yield в PythonЗнакомство с Python
Модули в PythonЗнакомство с Python
Типы данных в PythonЗнакомство с Python
Основы объектно-ориентированного программирования (ООП) в PythonЗнакомство с Python
Аргументы и параметры функций, операторы * и ** в PythonЗнакомство с Python
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно