剖析在VSCode中出现(FileNotFoundError: No such file or directory)的问题

我先描述一下来龙去脉,首先呢,我这个程序是在Spyder下运行过的,是能成功的,但是到了vscode上面突然就不好用了,本来想在网上找找答案的,但是没找合适的,刚好解决了就来分享一下。

Spyder下的代码如图:(重点第七行)
此处为运行的程序,  和地起航出现争议的代码
运行结果成功:
运行结果
可以成功说明我的代码没有问题
接下来我在 vscode 上运行了一模一样的代码,结果出现了问题

出问题的争议代码如下:

for sample in open("../_Data/prices.txt", "r"):

关于错误的描述,是这样的:

 File "f:/spyder3workplace/MLtest/MachineLearning-master/a_FirstExample/Regression.py", line 7, in <module>
    for sample in open("../_Data/prices.txt", "r"):
FileNotFoundError: [Errno 2] No such file or directory: '../_Data/prices.txt'

由于之前知道出错误就要看这部分的描述,我知道了这个问题要解决,首先他一定是跟 路径 有关。
我们在这里写的是相对路径,既然相对路径不成功,那我们就用绝对路径来试一下。
改成如图所示:

for sample in open("F:\spyder3workplace\MLtest\MachineLearning-master\_Data\prices.txt", "r"):

这里如果有不会在vscode找绝对路径的 我教大家一个方法:
右键单击你要选择的数据或图片----->选择copy path 粘贴到原来丼的位置…这样就成功啦。。
在这里插入图片描述

接下来看看运行的成果:
运行成果01
运行成果02
运行成功 。。。这样问题就解决了

这样成功我是 不太满足 的,我还想让它在相对路径下成功。

接下来我尝试了:
打开.py文件的上一个文件夹 而不是 整个项目的文件夹
显然,我成功了!
运行稳价03

注意细节
在相对了路径的条件下,运行成功的打开的文件夹,应该是这样的
在这里插入图片描述

而之前我们打开的文件夹是这样的(里面包含py文件的文件夹,也就是输上图的文件夹是这个文件夹的子文件夹)
在这里插入图片描述

总结(划重点)

这里要补充一点的是,我在Spyder中代开的是.py文件,也就是说它可以直接访问相对路径,和文中提到的直接打开子文件夹就是py文件的第一个文件夹,二者其实是一个概念,最开始提到的绝对路径的代码是在泥放入了整个项目的时候,才最好用的方法。

  • 想用相对路径
for sample in open("../_Data/prices.txt", "r"):

就必须把打开的文件夹弄成包含py文件最接近的一个文件夹

  • 想用绝对路径
for sample in open("F:\spyder3workplace\MLtest\MachineLearning-master\_Data\prices.txt", "r"):

就可以直接放整个项目的的文件夹,直接放workplace都可以

想要不报错,一是改路径 ,二是改打开的文件夹

这下就好多了吧。大家一起努力,加油好好学哦

发布了20 篇原创文章 · 获赞 2 · 访问量 856

猜你喜欢

转载自blog.csdn.net/qiyihan/article/details/104932788