关于vscode使用相对路径运行代码时找不到响应文件No such file or directory,修改用于debugger的launch.json文件不能完全解决所有的问题时

溯因:报错的原因是,使用python extension进行代码解析的时候默认的根目录为.vscode所在的目录,如果需要使用相对路径,所有的路径都需要相对与.vscode目录进行相对才有效,这是python extension本身造成的问题.目前无法直接彻底解决,期待工程师的fix!

表现:vscode 运行/调试代码有三种方式,因而将造成这种错误:

  • ①在终端运行python文件,将调用python扩展进行运行,会带来NO such file 的问题
  • ②配置cmd终端,通过在settings.json中添加 "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",即cmd.exe的位置,即可在vscode终端集成命令行,这样使用 python XX.py 运行文件不会带来No such File 问题
  • ③大部分网友提出的"半程"解决方案,对python程序进行debuge时候,需要配置 launch.json文件,在其中加入"cwd": "${fileDirname}",即可将当前根目录转至文件所在绝对路径,使用Debugger时候,不会因为相对路径而报错,注意:只是在debugger时候!!!!

解决措施(一):较为繁琐但是可以使用python扩展运行时报错问题的方法(几行代码):在python程序开头:

(将目录改成当前program的绝对路径)

import os
import sys
os.chdir(sys.path[0])

解决措施(二):半程解决方案的基础上改进

改进动机:由于我们并不希望所有程序都去调试运行,故:
哈哈哈哈,皮一下:试试"以非调试方式运行",即可.

你可能感兴趣的:(visual,studio,code,python,debugger)