本文摘要:本文已解决 Python FileNotFoundError 的相关报错问题,并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。
😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。
🎈 本文专栏:本文收录于洲洲的《解决Bug》系列专栏,该专栏记录了许多常见的各种开发Bug、环境配置类Bug、代码Bug等等。欢迎大家关注本专栏~专栏一键跳转
🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。
🌼 同时洲洲已经建立了程序员技术交流群,如果您感兴趣,可以私信我加入我的社群~社群中将不定时分享各类福利
🖥 随时欢迎您跟我沟通,一起交流,一起成长、进步!点此即可获得联系方式~
本文目录
- 一、Bug描述
- 二、定位报错原因
- 三、解决方案汇总
- 四、相关注意事项
- 总结
一、Bug描述
今天遇到了Python FileNotFoundError的问题,如下图所示:
那么遇到这种问题应该怎么处理呢,本篇文章总结了如下几个方法。
二、定位报错原因
出现这类问题,可能的原因如下,仅供参考~
- 文件路径错误: 如在尝试打开一个文件,但提供的路径是错误的或不完整的,那么你可能会遇到FileNotFoundError。例如,如果你尝试打开位于桌面上的一个名为 "example.txt"的文件,但你错误地拼写了文件名或使用了错误的路径,如 “~/Desktop/example.txt”,那么就会引发此错误。
- 文件不存在: 如果尝试打开一个不存在的文件,比如一个不存在的文本文件或一个不存在的数据文件,那么也会引发此错误。
- 文件权限问题:如果你没有足够的权限来访问或打开文件,那么也会引发此错误。例如,如果你尝试打开一个只有管理员才能访问的文件,但你只是一个普通用户,那么就会引发此错误。
- 文件被其他进程使用: 如果文件被其他进程或程序占用,那么你也可能无法打开或访问该文件。
- 文件名或扩展名错误: 如果你提供的文件名或扩展名不正确,那么也会引发此错误。例如,你可能试图打开一个名为 "example.txt"的文本文件,但实际上它是一个名为 “example.JPG” 的图像文件。
所以我们需要进行如下相关的确认操作:
- 仔细检查文件路径是否正确
- 确保你尝试打开的文件确实存在。
- 检查你的用户权限,看看是否有足够的权限来访问该文件。
- 如果可能的话,尝试关闭正在使用该文件的任何其他程序或进程。
- 确保你提供的文件名和扩展名是正确的。
三、解决方案汇总
1.检查文件名与文件类型
比如将python.md错误的拼写为pythn.md、python.txt等等。
需要仔细检查后缀名+文件名。
2.检查是否拥有文件权限
可以右键点击使用管理员权限运行文件代码或者相关项目~
3.更改Python运行位置
这类问题可能跟python路径有关,具体可能也涉及到了环境变量or系统变量的问题,可以通过如下代码进行更改。
import sys
sys.path.append("../yourt arget path/")
如果加入了上面的代码,那么我们只需要进行如下操作即可:
可以将文件的位置省略。如将open(“…/your/target/path/file.txt”)省略为open("file.txt)。
4.检查文件路径是否含有中文字
如果路径中含有中文字,那么可能会因为编码等相关问题导致访问不成功。
5.系统相关问题
在Windows系统中,文件路径是由符号\来表示的,而在Linux中是由符号/来表示。如果代码需要在不同的系统上运行,需要注意修改。
6.相对路径的问题
Python代码运行过程中,相对路径是该进程运行时指向的文件夹,并以该文件夹作为根节点的文件树,也就是说使用相对路径的方式打开文件,只能访问其根节点之下的文件。
我们可以通过使用os库中提供的os.path.abspath() 方法查看python运行的绝对路径,与需要打开的文件目录进行比较。使用os.path.abspath(‘…’)的方式返回父节点的绝对路径。如下图所示,如果python是运行在Folder2中,其打开file1时只需要open(r"file1",“r”),但是如果需要打开File3,就需要open(os.path.abspath(‘…’)+r’Folder3//File3’,“r”)的方式打开。其中os.path.abspath(‘…’)返回的字符串信息是"…\Folder1"。
7.检查是否是python字符串的转义
在打开文件的字符串中,未免会涉及类似于C:\UserZhou\Desktop的地址字符串信息,而与python字符串中的转义功能冲突,如\n表示换行等等相关字符串转义。
那么我们可以通过使用r"C:\UserZhou\Desktop"或C:\User\Desktop的字符串,避免python对字符串的转义。
四、相关注意事项
很多朋友是绝对路径和相对路径问题,我建议大家写死路径,这样虽然写的时候麻烦,但是不容易出错,同时也要注意是否含有中文字哦~
总结
本文有部分图片或解决方案来源于网络,如侵权请在后台联系博主删除
Hello,各位看官老爷们好,洲洲已经建立了技术交流群,如果你很感兴趣,可以私信我加入我的社群。
📝社群中不定时会有很多活动,例如每周都会包邮免费送一些技术书籍及精美礼品、学习资料分享、大厂面经分享、技术讨论、行业大佬创业杂谈等等。
📝社群方向很多,相关领域有Web全栈(前后端)、人工智能、机器学习、自媒体变现、前沿科技文章分享、论文精读等等。
📝不管你是多新手的小白,都欢迎你加入社群中讨论、聊天、分享,加速助力你成为下一个技术大佬!也随时欢迎您跟我沟通,一起交流,一起成长。变现、进步、技术、资料、项目、你想要的这里都会有
📝网络的风口只会越来越大,风浪越大,鱼越贵!欢迎您加入社群~一个人可以或许可以走的很快,但一群人将走的更远!
📝关注我的公众号(与CSDN同ID:程序员洲洲)可以获得一份Java 10万字面试宝典及相关资料!~
📝想都是问题,做都是答案!行动起来吧!欢迎评论区or后台与我沟通交流,也欢迎您点击下方的链接直接加入到我的交流社群!~ 跳转链接社区~