我遇到了一个小问题:在open()
模式下使用'w'
函数时,所有文档都说如果文件不存在则会创建该文件。不幸的是,在我的情况下,我出于某种原因出现FileNotFound
错误。
with open(newFileName, 'w') as newFile:
#CODE
我收到以下错误:
FileNotFoundError: [Errno 2] No such file or directory: 'path of file I have specified'
知道为什么会这样吗?提前致谢!
编辑:对于那些询问目录是否存在的人,我对代码做了一些小改动,可能会显示它确实是一条好路径。
if not os.path.exists("example"):
os.makedirs("example")
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
newFileName = "example/restOfPath"
newFileName = os.path.join(BASE_DIR,newFileName)
with open(newFileName, 'w') as newFile:
我仍然收到以下错误:
FileNotFoundError: [Errno 2] No such file or directory: 'correctPathToDirectory/example/restOfPath'
EDIT2:无视这个问题,问题解决了。在"示例"之后正在创建第二个目录,因此它无法正常工作。愚蠢的错误。
答案 0 :(得分:14)
此错误的原因可能是包含新文件的目录尚不存在。
带有open()
的 'w'
仅为您创建不存在的文件,但不会为整个目录路径创建。所以你首先需要为文件创建目录。