#python #file-io
#python #file-io
Вопрос:
Я использую эту строку для создания нового файла (файл не существует):
with open(outfilename, 'rwb') as outfile:
И он получает эту ошибку:
IOError: [Errno 2] No such file or directory: 'myoutfile.csv'
Я пытаюсь создать этот файл, и я подумал, что если я использую ‘w’, это создаст его, если он не существует. Если это разрешения, как мне создать новую папку и указать ее путь?
Ответ №1:
Открытый режим, переданный open()
функции, принимает только несколько определенных комбинаций букв. В вашем случае 'rwb'
это не одна из этих комбинаций, и Python, возможно, предполагает, что вы имели в виду 'rb'
. Попробуй:
with open(outfilename, 'wb') as outfile:
Это откроет файл для записи. Если вам нужно одновременно выполнять запись и чтение из одного и того же дескриптора, используйте:
with open(outfilename, "w b") as outfile:
Ответ №2:
Я почти уверен rwb
, что это недопустимый режим для open
. В зависимости от желаемого поведения вам, возможно, придется выбрать один из r b
или w b
.
Используйте rb
, если вы хотите прочитать существующий файл.
Используйте r b
, если вы хотите прочитать / записать существующий файл.
Используйте wb
, если вы хотите записать существующий или несуществующий файл (сначала будет обрезан существующий файл).
Используйте w b
, если вы хотите прочитать / записать существующий или несуществующий файл (сначала будет обрезан существующий файл).
Используйте комбинацию, если вы не хотите усечения существующего файла, что-то вроде (очевидно, псевдокод):
open with "r b"
on error:
open with "w b"