Python Language Режимы файлов


пример

Существуют разные режимы, с помощью которых вы можете открыть файл, заданный параметром mode . Они включают:

  • 'r' - режим чтения. По умолчанию. Это позволяет вам читать только файл, а не изменять его. При использовании этого режима файл должен существовать.

  • 'w' - режим записи. Он создаст новый файл, если он не существует, иначе он удалит файл и позволит вам записать его.

  • 'a' - добавить режим. Он будет записывать данные в конец файла. Он не стирает файл, и файл должен существовать для этого режима.

  • 'rb' - режим чтения в двоичном формате. Это похоже на r за исключением того, что чтение принудительно в двоичном режиме. Это также выбор по умолчанию.

  • 'r+' - режим чтения и режим записи одновременно. Это позволяет одновременно читать и записывать файлы без использования r и w .

  • 'rb+' - режим чтения и записи в двоичном формате. То же, что и r+ за исключением данных в двоичном

  • 'wb' - режим записи в двоичном формате. То же, что и w за исключением данных, находится в двоичном формате.

  • 'w+' - режим записи и чтения. Точно так же, как и r+ но если файл не существует, создается новый. В противном случае файл будет перезаписан.

  • 'wb+' - режим записи и чтения в двоичном режиме. То же, что и w+ но данные находятся в двоичном формате.

  • 'ab' - добавление в двоичном режиме. Как и a исключением того, что данные находятся в двоичном формате.

  • 'a+' - режим добавления и чтения. Подобно w+ поскольку он создаст новый файл, если файл не существует. В противном случае указатель файла находится в конце файла, если он существует.

  • 'ab+' - режим добавления и чтения в двоичном формате. То же, что a+ за исключением того, что данные находятся в двоичном формате.

     with open(filename, 'r') as f:
         f.read()
     with open(filename, 'w') as f:
         f.write(filedata)
     with open(filename, 'a') as f:
         f.write('\n' + newdata)
    
р г + вес ш + а +
Читать
Написать
Создает файл
Стирает файл
Исходное положение Начните Начните Начните Начните Конец Конец

Python 3 добавил новый режим для exclusive creation чтобы вы случайно не усекали или не перезаписывали и не добавляли существующий файл.

  • 'x' - открыт для исключительного создания, поднимет FileExistsError если файл уже существует
  • 'xb' - открыт для режима создания уникального создания в двоичном формате. То же, что и x кроме данных, находится в двоичном формате.
  • 'x+' - режим чтения и записи. Подобно w+ поскольку он создаст новый файл, если файл не существует. В противном случае будет увеличено значение FileExistsError .
  • 'xb+' - режим записи и чтения. Точно так же, как x+ но данные двоичные
Икс х +
Читать
Написать
Создает файл
Стирает файл
Исходное положение Начните Начните

Позвольте написать файл открытого кода более питоническим образом:

Python 3.x 3.3
try:
    with open("fname", "r") as fout:
        # Work with your open file
except FileExistsError:
    # Your error handling goes here

В Python 2 вы бы сделали что-то вроде

Python 2.x 2.0
import os.path
if os.path.isfile(fname):
    with open("fname", "w") as fout:
        # Work with your open file
else:
    # Your error handling goes here