在Python中出现“IOError: [Errno 2] 找不到文件或目录: 'myoutfile.csv'”错误
我用这一行代码来创建一个新文件(这个文件之前是不存在的):
with open(outfilename, 'rwb') as outfile:
但是我遇到了这个错误:
IOError: [Errno 2] No such file or directory: 'myoutfile.csv'
我想创建这个文件,我以为如果我用'w'模式的话,它会在文件不存在的时候自动创建。如果是权限问题,那我该怎么创建一个新文件夹并指向它的路径呢?
2 个回答
1
我很确定 rwb
不是 open
函数的有效模式。根据你想要的操作,你可能需要选择 r+b
或 w+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: