Python File Not Found 错误
FileNotFoundError 是一个常见错误,当 Python 无法找到要打开的文件时就会出现该错误。 本文将讨论Python中的 FileNotFoundError 及其解决方案。
Python 中的文件 I/O
Python 具有用于修改文件的内置函数。 文件是存储在计算机存储设备中的对象。
Python 的 open()
函数用于打开文件。 它有两个参数。
参数 | 说明 |
---|---|
filename | 您要打开的文件的名称。 |
mode | 您要对文件执行的操作。 |
有多种模式允许不同的操作。
模式 | 使用 |
---|---|
r | 打开并读取已存在的文件。 |
a | 打开并将数据附加到已存在的文件中。 |
w | 打开现有文件以将数据写入其中。 如果不存在同名文件,则创建一个新文件。 |
Python中FileNotFoundError的原因
打开文件时,如果Python找不到要打开的指定文件,可能会出现 FileNotFoundError 错误。 下面的示例代码将产生随后的错误。
示例代码:
#Python 3.x
file = open('text.txt','r')
输出:
#Python 3.x
Traceback (most recent call last):
File "c:/Users/LEO/Desktop/Python/main.py", line 2, in <module>
datafile = open('text.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'text.txt'
原因 1 - 当前目录中不存在文件
通常,主要原因是该文件不在运行代码的同一文件夹中。 默认情况下,open()
函数在代码文件所在的同一文件夹中查找文件。
假设目录结构如下所示。
code.py
my_folder
---my_file.txt
如果用户使用以下代码打开 my_file.txt,则会引发错误。
示例代码:
#Python 3.x
file = open('my_file.txt','r')
输出:
#Python 3.x
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-4-0fc1710b0ae9> in <module>()
----> 1 file = open('my_file.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'my_file.txt'
原因 2 - 文件名或扩展名不正确
如果即使文件位于正确的目录中也遇到错误,则用户指定了不正确的文件名或扩展名。
假设用户有一个名为 my_file.txt 的文件。 如果文件名或扩展名不正确,这两种情况都会出现错误。
示例代码:
#Python 3.x
file = open('my_file2.txt','r')
输出:
#Python 3.x
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-5-4dd25a062671> in <module>()
----> 1 file = open('my_file2.txt','r')
FileNotFoundError: [Errno 2] No such file or directory: 'my_file2.txt'
这是另一个例子。
示例代码:
#Python 3.x
file = open('my_file.jpg','r')
输出:
#Python 3.x
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-6-d1645df0ff1f> in <module>()
----> 1 file = open('my_file.jpg','r')
FileNotFoundError: [Errno 2] No such file or directory: 'my_file.jpg'
现在我们来讨论一下Python中FileNotFoundError的解决方案。
解决方案 1 - 指定完整的文件路径
首先要检查目标文件是否位于正确的文件夹中。 如果它与代码文件不在同一文件夹中,则应将其移动到与代码文件同一文件夹中。
如果这不是一个选项,那么您应该在打开函数的文件名参数中给出完整的文件路径。 文件路径在 Windows 上的工作方式如下:
C:\Users\username\filename.filetype
文件的完整路径必须在 open()
函数中给出。 下面提到了带有虚拟路径的示例代码。
示例代码:
#Python 3.x
file = open(r"C:\Folder1\Subfolder1\text.txt")
解决方案 2 - 指定正确的文件名和扩展名
您可以重新检查要打开的文件名和扩展名。 然后在open()方法中写入它的正确名称。
假设您要打开 my_file.txt。 代码如下所示。
示例代码:
#Python 3.x
file = open('my_file.txt','r')
相关文章
Python 中错误 ModuleNotFoundError: No Module Named Tensorflow
发布时间:2023/07/06 浏览次数:115 分类:Python
-
我们将学习如何安装 TensorFlow 并尝试多种安装方法; 然后,我们还将学习如何在Python中的单独conda环境中安装TensorFlow。使用Python正确安装TensorFlow的方法
Python 中错误 ModuleNotFoundError: No Module Named mpl_toolkits.basemap
发布时间:2023/07/06 浏览次数:178 分类:Python
-
本文将讨论 No module named 'mpl_toolkits.basemap' 错误。 这是当我们导入的模块未安装或位于另一个目录中时出现的 ModuleNotFoundError。
Python 中 Function Is Not Defined 错误
发布时间:2023/07/05 浏览次数:153 分类:Python
-
通过这个解释,我们将了解当 Python 程序显示类似 NameError: name '<functionName>' is not Defined 的错误时会出现什么情况,即使脚本中存在该函数。
修复 Python 中错误 TypeError: 'map' Object Is Not Subscriptable
发布时间:2023/07/05 浏览次数:183 分类:Python
-
本文将讨论 TypeError: 'map' object is not subscriptable,它是 TypeError 的子类。 当我们尝试执行与对象类型不兼容的操作时,我们会遇到类型错误。Python 中出现 TypeError: 'map' object is not subscriptable 错误的
修复 Python 中 TypeError: Decoding Unicode Is Not Supported 错误
发布时间:2023/07/05 浏览次数:60 分类:Python
-
本文将讨论如何解决Python中的 TypeError: decoding Unicode is not supported 错误。Python 中 TypeError: decoding Unicode is not supported 错误
修复 Python 中 SSL: CERTIFICATE_VERIFY_FAILED 错误
发布时间:2023/07/05 浏览次数:120 分类:Python
-
本文介绍了您在将 SSL 与网站或应用程序连接期间可能遇到的 SSL: CERTIFICATE_VERIFY_FAILED 错误的详细信息。
修复 Python 中错误 Pylint Unresolved Import
发布时间:2023/07/05 浏览次数:89 分类:Python
-
本文将讨论如何在 Python 中使用 Pylint 解决未解决的导入错误。修复 Python 中的 Pylint 无法解析的导入错误 要解决 Python 中未解决的导入错误,请在工作区设置中设置 Python 路径。
修复 Python 中 ImportError: Cannot Import Name 错误
发布时间:2023/07/05 浏览次数:142 分类:Python
-
通过这个解释,我们将了解为什么会收到 ImportError: Cannot import name 错误。 我们还将学习如何在 Python 中修复此类错误。Python 中 ImportError: cannot import name 错误的原因
修复 Python 中错误 AttributeError: 'module' Object Has No Attribute 'SSL_ST_
发布时间:2023/07/05 浏览次数:171 分类:Python
-
在 Python 中使用 SSL 模块时,会引发 AttributeError: 'module' object has no attribute 'SSL_ST_INIT' 错误,因为 SSL 模块在 Python 标准库中不可用。要解决此问题,您必须安装 openssl-devel 软件包。