Получение «IOError: [Errno 2] Нет такого файла или каталога:« myoutfile.csv »» ошибка в Python - PullRequest
3 голосов
/ 05 октября 2011

Я использую эту строку для создания нового файла (файл не существует):

with open(outfilename, 'rwb') as outfile:

И он получает эту ошибку:

IOError: [Errno 2] No such file or directory: 'myoutfile.csv'

Я пытаюсь создать этот файл, и я подумал, что если бы я использовал 'w', он бы создал его, если он не существует. Если это разрешения, как мне создать новую папку и обратиться к ее пути?

Ответы [ 2 ]

4 голосов
/ 05 октября 2011

Режим открытия, переданный функции open(), принимает только несколько определенных комбинаций букв. В вашем случае 'rwb' не является одной из этих комбинаций, и Python, возможно, предполагает, что вы имели в виду 'rb'. Попробуйте:

with open(outfilename, 'wb') as outfile:

Откроется файл для записи. Если вам нужно и записать в и читать с одного и того же дескриптора, используйте:

with open(outfilename, "w+b") as outfile:
1 голос
/ 05 октября 2011

Я почти уверен, rwb не является допустимым режимом для open.В зависимости от желаемого поведения вам может потребоваться выбрать один из r+b или w+b.

Использовать rb, если вы хотите прочитать существующий файл.

Использовать r+b если вы хотите прочитать / записать существующий файл.

Использовать wb, если вы хотите записать существующий или несуществующий файл (сначала будет обрезан существующий файл).

Использоватьw+b если вы хотите прочитать / записать существующий или несуществующий файл (сначала будет обрезан существующий файл).

Используйте комбинацию, если вы не хотите обрезать существующий файл, что-то вроде (очевидно, псевдокод):

open with "r+b"
on error:
    open with "w+b"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...