Если с помощью функции dir() проверить модуль __builtins__, то можно увидеть, что данный модуль содержит объект file, который определяет несколько методов для работы с файлами системы, включая такие методы, как open(), read(), write() и close().

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

Файловый режим

Операция

r

Открыть для чтения существующий файл

w

Открыть существующий файл для записи. Создает

новый файл, если он не существует, или открывает

существующий файл и стирает все его содержимое

a

Режим добавления текста. Открывает или создает

текстовый файл для записи в конец файла

r+

Открыть текстовый файл для чтения или записи

w+

Открыть текстовый файл для записи или чтения

a+

Открыть или создать текстовый файл для чтения или записи в конец файла

Если после любого из перечисленных выше режимов файлов добавлен символ b, то операция будет относиться не к текстовому, а к двоичному файлу. Например, rb или w+b.

file = open('example.txt', 'w')
print('Имя файла:', file.name) #Имя файла: example.txt
print('Режим открытия файла:', file.mode) #Режим открытия файла: w
print('Доступен ли файл для чтения:', file.readable()) #Доступен ли файл для чтения: False
print('Доступен ли файл для записи:', file.writable()) #Доступен ли файл для записи: True
def get_status(f):
  if (f.closed != False):
      return 'Закрыт'
  else:
      return 'Открыт'
print('Статус файла:', get_status(file)) #Статус файла: Открыт
file.close()
print('Статус файла:', get_status(file)) #Статус файла: Закрыт​

Если ваша программа пытается открыть несуществующий файл в режиме r, то интерпретатор сообщит об ошибке.