VSCode中python的相对路径问题 [Errno 2] No such file or directory:

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])

这里出现问题:
VSCode中python的相对路径问题 [Errno 2] No such file or directory:_第1张图片
检查了文件名和目录,确实有这个文件,文件名也没有问题,问题出在哪里?
原来的目录结构是:

  • learn_python
    • .vscode
      • launch.json
      • setting.json
    • pygal
      • pygal_GDP.py
      • gdp_json.json
        尝试把“gdp_json.json”文件剪切到“.vscode”同一层就可以实现代码的运行,目录结构变成了:
  • 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

你可能感兴趣的:(#,Python学习笔记,Python)