解决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问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 完美解决pycharm导入自己写的py文件爆红问题

    用pycharm开发时,在导入自己写的python文件时出现模块名爆红的情况,而且后面每次调用文件里的函数都没有没有提示,必须自己手动输入,虽然正常使用没什么问题,但奈何不了强迫症 解决办法: 在此处选择新建项目,并将所有的文件拖进新的文件夹即可. 以上这篇完美解决pycharm导入自己写的py文件爆红问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python引用(import)文件夹下的py文件的方法

    Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行.要包含目录里的文件,PHP中只需要给对路径就OK.Python中则不同,下面来看看这个例子. 目录结构: a.py 要 import dir目录下的 b.py 文件.a.py代码如下: 复制代码 代码如下: # coding=utf-8 "import dir 目录下的 b.py 文件"   impo

  • python模块导入的细节详解

    python模块导入细节 本文主要介绍了关于python模块导入的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: 用于执行的可执行程序文件 不用与执行,仅用于被其它python源码文件导入的模块文件 例如文件a.py和b.py在同一目录下,它们的内容分别是: # b.py x="var x in m

  • 解决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

  • Python 创建新文件时避免覆盖已有的同名文件的解决方法

    思路:创建文件时,先检查是否有同名文件(使用os.path.isfile),如果有,则在文件名后加上编号n来创建. 关键点: 1. 使用os.path.isfile判断文件是否存在 2. 使用递归函数判断 2. 添加编号时, 使用可变list 传值n=[0] 完整代码如下: import os def check_filename_available(filename): n=[0] def check_meta(file_name): file_name_new=file_name if os

  • 解决Python中导入自己写的类,被划红线,但不影响执行的问题

    1. 错误描述 之前在学习Python的过程中,导入自己写的包文件时,与之相关的方法等都会被划红线,但并不影响代码执行,如图: 看着红线确实有点强迫症,并且在这个过程当时,当使用该文件里的方法时不会自动提示方法名,只能靠手全部输入,这种容易造成手误,对于小白特别容易降低编写效率 2. 原因分析 pycharm中,source root概念非常重要,当你在代码中写相对路径的时候,就是以source root为起点进行查询. 而pycharm中,当前的项目文件夹 是默认的source root,当你

  • 解决python 执行sql语句时所传参数含有单引号的问题

    在编写自己的程序时,需要实现将数据导入数据库,并且是带参数的传递. 执行语句如下: sql_str = "INSERT INTO teacher(t_name, t_info, t_phone, t_email) VALUES\ (\'%s\', \'%s\', \'%s\', \'%s\')" % (result, result2, phoneNumber, Email) cur.execute(sql_str) 执行程序后,产生错误: ProgrammingError: (1064

  • 解决python中import文件夹下面py文件报错问题

    如下所示: 在需要导入的那个文件夹里面新建一个 __init__.py文件,哪怕这个文件是空的文件也可以. 补充知识:python中import其他目录下的文件出现问题的解决方法 在使用python进行编程的时候,import其他文件路径下的.py文件时报错 Traceback (most recent call last): File "download_and_convert_data.py", line 44, in <module> from .datasets i

  • 解决python 读取npy文件太大不能完全显示的问题

    python读取npy文件时,太大不能完全显示,其解决方法 当用python读取npy文件时,会遇到npy文件太大,用print函数打印时不能完全显示,如以下情况: 解决办法 添加一行代码:np.set_printoptions(threshold = 1e6),其中threshold表示输出数组的元素数目 其结果如下: 补充:PyCharm打开大文件时提示文件过大,只显示前一小部分 使用pycharm打开一些大文件时,会出现上述提示,表明文件过大,只能以只读的方式显示前一小部分内容,这种情况显

  • 解决Python字典写入文件出行首行有空格的问题

    模拟购物车程序,判断用户薪资是否是0 如果是0就需要输入薪资,并记录到文件内. 可以预先存个字典格式的字符串,然后去读取文件的时候读到的是字字符串然后再去用eval去转换成字典. 当我们覆盖写到文件的时候就会发现首行会有空格,当我们再去读取eval的时候就会报错,那怎么样可以解决这个问题呢! import json info = { 'lisi':0, 'zhangshan':100, } f = open('json.txt','w') f.write(json.dumps(info)) {"

  • 解决Python plt.savefig 保存图片时一片空白的问题

    更新 这里我会列出对本文的更新. 2017 年 9 月 28 日:修正几处错字,优化排版. 问题 当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白. import matplotlib.pyplot as plt """ 一些画图代码 """ plt.show() plt.savefig("filename.png") 原因 其实产生这个现象的原因很简单:在 plt.show()

  • python指定写入文件时的编码格式方法

    实例如下: #encoding=utf-8 content=u"广东松炀再生资源股份有限" content=content.encode("utf-8")#写入的文件编码格式为utf-8 with open("testbianma.txt","w")as f: f.write(content) 以上这篇python指定写入文件时的编码格式方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决python xx.py文件点击完之后一闪而过的问题

    1.问题复现: 有时候我们去点击.py文件 文件里明明有打印信息,却一闪而过,没有任何显示 比如以下内容 #!/usr/local/bin/python import sys print(sys.platform) print(2 ** 100) x = 'Spam' print(x * 8) print 'hello world' 2.具体原因: 其实程序是运行了,运行完之后就把显示的窗口关掉了 除非你机器运行很卡,不然正常情况下你是看不见任何输出 3.解决方法: 在程序末尾加"input()

随机推荐