【问题标题】:Folders in VS codeVS 代码中的文件夹
【发布时间】:2021-04-02 12:58:16
【问题描述】:
如果我有一个 .py(称为 p.py)文件夹,其中有我的代码,并且我想打开一个 .json(称为 j.json)文件的文件,并且我已将它作为文件夹打开p.py 文件夹。我想从 j.json 中读取,使其成为字典。它似乎不适用于此:
import json
with open("j.json") as f:
data = json.load(f)
输出:FileNotFoundError: [Errno 2] No such file or directory
我做错了什么?
【问题讨论】:
标签:
python
python-3.x
visual-studio
visual-studio-code
error-handling
【解决方案1】:
如果p.py和j.json在同一级别,我们可以直接引用它的名字而不是它的绝对路径:
转到文件资源管理器,查看 -> 选择文件扩展名,检查j.json的名称是否正确,或者我们可以说,检查是否j.json 存在:
【解决方案2】:
尝试完整路径目录,而不仅仅是您的文件名。但是你应该在字符串之前放一个 r 。例如
with open(r'path_to_file/j.json') as f:
data = json.load(f)
【解决方案3】:
当你指定一个路径(不是绝对的)时,它是相对于你在其中执行 Python 的目录
假设我在终端中的目录 C:/Users/Mathias/Desktop 中使用 Python 执行以下代码
with open("veryimportant.json", "r") as file:
for line in file:
print(line)
“veryimportant.json”将相对于我的工作目录 (C:/Users/Mathias/Desktop),因此绝对路径将为 C:/Users/Mathias/Desktop/veryimportant.json
那么你能做什么呢?
您有以下选择。
选项 1
将 j.json 文件移动到与 p.py 文件相同的目录
选项 2
使用绝对路径引用 j.json(类似于“C:/path/to/file.json”,首先显示您的驱动器号)