解决Python在导入文件时的FileNotFoundError问题
例如,在运行这段代码时
from keras.utils import plot_model
plot_model(model, to_file='images/model_mnist.png', show_shapes=True, show_layer_names=True)
会报错
In [8]: FileNotFoundError: [Errno 2] No such file or directory: 'images/model_mnist.png'
此时运行的py文件名称为
temp.py
要导入的文件在temp.py的同级的目录images文件夹下那么应该保证要导入的文件
imagesmodel_mnist.png
要跟前面的temp文件在同一目录(不满足,可把imagesmodel_mnist.png移到temp.py同一目录下)或者是提供要导入的文件的完整目录即写作绝对路径如下:
from keras.utils import plot_model
plot_model(model, to_file='C:/Users/MMIS/.spyder-py3/imagesmodel_mnist.png', show_shapes=True, show_layer_names=True)
再次尝试导入,控制台提示导入成功:
In [9]: plot_model(model, to_file='C:/Users/MMIS/.spyder-py3/images/model_mnist.png', show_shapes=True, show_layer_names=True)
补充知识:Python:错误FileNotFoundError: [Errno 2] No such file or directory: 'objects/epsilon.pkl
前言
看微信推送了一个好玩的应用强化学习dinosrun,但是在运行时,遇到了这个问题,百思不得其解:
FileNotFoundError: [Errno 2] No such file or directory: ‘objects/epsilon.pkl
经过学习,发现了解决方案:
解释
没有该文件夹或者该文件,也就是你访问了不存在的文件,但其实你访问的文件如果不存在,切访问用的是w方法的法,是会新建文档的,所以问题主要是,没有这个文件夹,新建即可。
详细解释
python,os库对于文件的读写,是有要求的。由于你的文件的打开方式是'w',也就是文件不存在时就创建文件,所以那个pkl文件(我指的是相对路径中的pkl)不存在会自动创建,这不是问题,问题就在于那个相对路径,就是那个path是否存在,这个文件夹不存在一样会出问题。所以先要判断这个path是否存在。不存在则创建。
import os if not os.path.exists(path): os.mkdir(path)
而且需要注意,对于路径一次只能创建一层,就是说你objects的上一层的存在,不然还是会出错。
以上这篇解决Python在导入文件时的FileNotFoundError问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。