Открытие и закрытие файлов

Чтобы открыть файл на чтение, можно воспользоваться стандартной функцией open(). Она требует для открытия файла режим, в котором он будет открыт. Существует несколько режимов:

Первые три права обязательны, и нужно выбрать только одно из них. Оставшиеся два необязательны.

Чтобы закрыть файл, нужно воспользоваться методом close(). Проверить, закрыт ли файл, можно с помощью свойства closed:

Посмотрим пример:

file = open('file.txt', 'r') # Открываем файл на чтение
file.close()                 # Закрываем файл
print(file.closed)           # Выведет True

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

Чтобы не открывать и закрывать файл постоянно, можно воспользоваться менеджером контекста, который сам закроет файл при выходе из блока. Посмотрим, как это выглядит:

with open('file.txt', 'r') as file: # Открываем файл
  print(file.readlines())           # Что-то с ним делаем

print(file.closed)                  # Тут файл уже закрыт

Чтение информации из файла

Считать файл можно несколькими способами:

# Можно считать файл целиком в одну строку с помощью метода read()
with open('file.txt', 'r') as file:
  content = file.read()
  print(content)

# Можно считать все строки в список с помощью метода readlines()
with open('file.txt', 'r') as file:
  content = file.readlines()
  print(content)

# Можно считывать файл по одной строчке с помощью метода readline()
with open('file.txt', 'r') as file:
  s = file.readline()
  print(s.upper())
  s2 = file.readline()
  print(s2.lower())

# В цикле для перебора строк достаточно перебрать файл
with open('file.txt', 'r') as file:
  for line in file:
    print(line.upper())

Файл:

Hello World!
Hello Universe!!!

Вывод программы:

Hello World!
Hello Universe!!!
['Hello World!\\n', 'Hello Universe!!!\\n']
HELLO WORLD!

hello universe!!!

HELLO WORLD!

HELLO UNIVERSE!!!

Запись в файл

Запись можно осуществить тремя способами: