【问题标题】:VS Code debugger cannot find the file, but file existsVS Code 调试器找不到文件,但文件存在
【发布时间】:2020-03-09 17:14:16
【问题描述】:

我正在使用 VS Code for Python(anaconda 包和 OpenCV)。

我正在调试程序(按 F5)并收到以下错误。

我遇到错误的代码

import cv2 as cv
import os
import numpy as np

pathsyn = os.path.realpath("synset_words.txt")

print("path", pathsyn)

syn = open(pathsyn,"r").read().strip().split("\n")

syncls = [r[r.find(" ") +1:] for r in syn]

vid = cv.VideoCapture(0)

net = cv.dnn.readNetFromCaffe("Classifiers/model/bvlc_googlenet.prototxt","Classifiers/model/bvlc_googlenet.caffemodel")

虽然synset_words.txt,AI02.py 两个文件都在同一个目录中

both are in the same directory

如果我将代码修改为

pathsyn = os.path.realpath("OpenCV/synset_words.txt")

然后就可以了。

import cv2 as cv
import os
import numpy as np

pathsyn = os.path.realpath("OpenCV/synset_words.txt")

print("path", pathsyn)

syn = open(pathsyn,"r").read().strip().split("\n")

syncls = [r[r.find(" ") +1:] for r in syn]

vid = cv.VideoCapture(0)

net = cv.dnn.readNetFromCaffe("OpenCV/Classifiers/model/bvlc_googlenet.prototxt","OpenCV/Classifiers/model/bvlc_googlenet.caffemodel")

Directories; .vscode is outside of the OpenCV folder

这是因为 .vscode 文件夹在前一个目录中,而我的 AI02.pysynset_words.txt 在 OpenCV 文件夹中。

VS Code 查找文件的目录(.vscode 文件夹也位于该目录):

C:\Users\user\Documents\Python Scripts

但文件在(vs 代码应该像终端一样直接调试器):

C:\Users\user\Documents\Python Scripts\OpenCV

【问题讨论】:

  • 您可以直接发布您的代码而不是屏幕截图吗?很难在屏幕截图上查看它们。
  • @GenWan 已进行更改以便于理解。请再次查看问题。谢谢。
  • 可以打印os.getcwd() 并在此处发布结果吗?
  • @HamzaHathoute current path os.getcwd(): c:\Users\user\Documents\Python Scripts 并且路径应该是c:\Users\user\Documents\Python Scripts\OpenCV。希望对您有所帮助。
  • 尝试在pathsyn = ...之前使用os.chdir(path)将当前工作目录设置为您需要的目录

标签: python opencv visual-studio-code atom-editor vscode-debugger


【解决方案1】:

launch.config 中将CWD 更改为文件夹 只需使用下面提到的命令:

{
    "version": "0.2.0",
    "configurations": [
        {
            ....,
            "cwd" : "${workspaceFolder}/${relativeFileDirname}"
        }
    ]
}

【讨论】:

    【解决方案2】:

    尝试在pathsyn = ...之前使用 os.chdir(path) 将当前工作目录设置为您需要的目录 – Hamza Hathoute 4 小时前

    @HamzaHathoute 可能会起作用,但这将是一个临时解决方案。我想将 VS Code 调试器设置为 c:\Users\user\Documents\Python Scripts\OpenCV 作为我的默认目录,而不是 c:\Users\user\Documents\Python Scripts – Haseeb Ayub 3 小时前

    您尝试过 stackoverflow.com/q/38623138/9406615 吗? – Hamza Hatoute 3 小时前

    "cwd": "${workspaceFolder}/opencv" 添加到我的VS Code 的launch.json 解决了这个问题。

    我想对 @Hamza Hathoute 说 谢谢 以获得解决方案。 谢谢 @Andy K 和 @jonrsharpe 提出修改建议。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-14
      • 2021-05-10
      • 2021-05-05
      • 2018-03-16
      • 2021-07-16
      • 2019-05-10
      • 2021-04-04
      • 1970-01-01
      相关资源
      最近更新 更多