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

这里出现问题:
在这里插入图片描述
检查了文件名和目录,确实有这个文件,文件名也没有问题,问题出在哪里?
原来的目录结构是:

  • 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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值