我正在使用此行创建新文件(该文件不存在):
with open(outfilename, 'rwb') as outfile:
它出现了这个错误:
IOError: [Errno 2] No such file or directory: 'myoutfile.csv'
我正在尝试创建这个文件,我想如果我使用'w'会创建它,如果它不存在的话。如果是权限,如何创建新文件夹并参考其路径?
答案 0 :(得分:4)
传递给open()
函数的打开模式只接受特定的几个字母组合。在您的情况下,'rwb'
不是这些组合之一,Python可能假设您的意思是'rb'
。尝试:
with open(outfilename, 'wb') as outfile:
这将打开要写入的文件。如果您需要两者写入和从同一句柄读取,请使用:
with open(outfilename, "w+b") as outfile:
答案 1 :(得分:1)
我很确定rwb
不是open
的有效模式。根据所需的行为,您可能需要选择r+b
或w+b
中的一个。
使用rb
是否要读取现有文件。
使用r+b
是否要读取/写入现有文件。
使用wb
是否要编写现有或不存在的文件(将首先截断现有文件)。
使用w+b
是否要读取/写入现有或不存在的文件(将首先截断现有文件)。
如果您不想截断现有文件,请使用组合,例如(伪代码,显然):
open with "r+b"
on error:
open with "w+b"