在Python中出现“IOError: [Errno 2] 找不到文件或目录: 'myoutfile.csv'”错误

3 投票
2 回答
5343 浏览
提问于 2025-04-17 03:41

我用这一行代码来创建一个新文件(这个文件之前是不存在的):

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

但是我遇到了这个错误:

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

我想创建这个文件,我以为如果我用'w'模式的话,它会在文件不存在的时候自动创建。如果是权限问题,那我该怎么创建一个新文件夹并指向它的路径呢?

2 个回答

1

我很确定 rwb 不是 open 函数的有效模式。根据你想要的操作,你可能需要选择 r+bw+b 其中之一。

如果你想读取一个已经存在的文件,就用 rb

如果你想对一个已经存在的文件进行读写,就用 r+b

如果你想写入一个已经存在的文件或一个不存在的文件(会先清空已经存在的文件),就用 wb

如果你想对一个已经存在的文件或一个不存在的文件进行读写(会先清空已经存在的文件),就用 w+b

如果你不想清空已经存在的文件,可以使用组合模式,像这样(伪代码,显然):

open with "r+b"
on error:
    open with "w+b"
4

传给 open() 函数的打开模式只接受特定的几种字母组合。在你的例子中,'rwb' 不是其中之一,Python 可能认为你是想用 'rb'。你可以试试:

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

这会打开文件以便写入。如果你需要同时从同一个文件中 ,可以使用:

with open(outfilename, "w+b") as outfile:

撰写回答