【发布时间】:2019-07-08 12:02:06
【问题描述】:
我只是想使用以下代码读取 JSON 文件:
import json
with open("file.json") as File:
print(json.load(File.read()))
当我尝试使用 VSCode 调试器运行它时,我得到了错误:
[Errno 2] No such file or directory: 'file.json'
但是当我使用 python file.py 从终端运行它时,它可以工作。
问题是,VSCode 不知何故使用了另一个“工作目录”,因为当我在 VSCode 中运行 os.getcwd() 时,我得到了 python 脚本所在文件夹的父文件夹的路径。
当我从终端运行它时,我得到了正确的路径。
这是为什么呢?
只是指出:问题不在于打印语句/json。当我只尝试打开文件而没有其他任何东西然后通过时,也会出现同样的错误。
【问题讨论】:
-
无论您检查
file.json的目录不是运行 Python 的目录。 -
尝试打印this 以查看您当前的工作目录是什么。
-
只需使用要导入的文件的绝对路径即可。编写脚本时,相对路径总是很危险的。
-
我无法重现该问题,并且不:您的工作目录中肯定没有任何
file.json。 -
另请注意,您可以使用
json.load(File)直接加载文件,而不是json.loads()。
标签: python python-3.x