欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

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

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

运行成功:
VSCode中python的相对路径问题 [Errno 2] No such file or directory:
修改代码

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