python - 调试器差异 : VSCode/Terminal (Python)

标签 python python-3.x

我只是想使用以下代码读取 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 以某种方式使用其他“工作目录”,因为当我运行 os.getcwd() 时在 VSCode 中,我获取 python 脚本所在文件夹的父文件夹的路径。 当我从终端运行它时,我得到了正确的路径。 这是为什么?

只是指出:问题不在于 print 语句/json。当我只尝试打开文件而没有其他任何内容然后通过时,会出现相同的错误。

最佳答案

import os 
dir_path = os.getcwd()

使用它来获取当前目录。您将能够辨别 Python 从哪里运行。您还可以使用 JSON 文件的完整文件路径。

import json

with open("fullpath/to/json/file/file.json") as File:
    print(json.loads(File.read()))

关于python - 调试器差异 : VSCode/Terminal (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56934510/

相关文章:

python - Splinter 拯救无形的 html

Python-ldap 可以从 python 控制台连接到事件目录,但不能连接到应用程序

Python添加,为什么不可变变量更快?

python - 为什么我的 while 循环永远运行 print _ ?

python - 使用 import_module 从不同目录导入模块

python-3.x - 欧洲/巴黎 -> CET;亚洲/香港-> HKT;欧洲/莫斯科 -> MSK

python - Google 语音转文本 API 结果为空

python - 如何在python中解密密码

python-3.x - Numpy 的按位运算和垃圾收集器

python - Tensorflow 中 Theano 的 Theano.tensor.ivector 的等价性