VSCode中python的相对路径问题 [Errno 2] No such file or directory:
程序员文章站
2022-05-09 23:49:04
...
import pygal
import json #json模块提供了json的支持,它既包含了将json恢复成python对象的函数,也提供了将python对象转换成json字符串的函数
with open('gdp_json.json', 'r') as f:
#load JSON数据返回的是列表或者字典
gdp_data = json.load(f)
print(gdp_data[0])
这里出现问题:
检查了文件名和目录,确实有这个文件,文件名也没有问题,问题出在哪里?
原来的目录结构是:
- learn_python
-
- .vscode
-
-
- launch.json
-
-
-
- setting.json
-
-
- pygal
-
-
- pygal_GDP.py
-
-
-
- gdp_json.json
尝试把“gdp_json.json”文件剪切到“.vscode”同一层就可以实现代码的运行,目录结构变成了:
- gdp_json.json
-
- learn_python
-
- .vscode
-
-
- launch.json
-
-
-
- setting.json
-
-
- pygal
-
-
- pygal_GDP.py
-
-
- gdp_json.json
原来是相对路径的问题:
在VSCode中的工作区的默认路径为“.vscode” 是有点的那个VSCode,里面放着配置文件。
修改代码:
import pygal
import json #json模块提供了json的支持,它既包含了将json恢复成python对象的函数,也提供了将python对象转换成json字符串的函数
with open('./Pygal/gdp_json.json', 'r') as f:
#load JSON数据返回的是列表或者字典
gdp_data = json.load(f)
print(gdp_data[0])
运行成功:
修改代码:
with open('Pygal/gdp_json.json', 'r') as f:
此时的目录结构恢复为:
- learn_python
-
- .vscode
-
-
- launch.json
-
-
-
- setting.json
-
-
- pygal
-
-
- pygal_GDP.py
-
-
-
- gdp_json.json
-
修改代码:
with open('/gdp_json.json', 'r') as f:
此时将文件拷贝至磁盘根目录下,运行成功。
修改代码:
with open('../gdp_json.json', 'r') as f:
将文件拷贝至工作空间也就是“learn_python”文件夹的同层目录下,依旧能执行成功。
/ #表示根目录,也就是磁盘根目录,比如“D:/”;
./ #表示当前目录,或者去掉之后直接写文件或者文件夹名称;
../ #表示上级目录。
**如果使用绝对路径,**可以参考我的这个文章:
https://blog.csdn.net/dkolli/article/details/101449023
上一篇: 如何印出逗號的值