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

Существуют различные режимы вы можете открыть файл с, указанные в 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+ , но данные в двоичной

Икс х + Читать ✘ ✔ Написать ✔ ✔ Создает файл ✔ ✔ Стирает файл ✘ ✘ Начальная позиция Начните Начните

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

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

 

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

импортировать os.path, если os.path.isfile (fname): с open ("fname", "w") как fout: # Работать с вашим открытым файлом else: # Ваша обработка ошибок здесь