溯因:报错的原因是,使用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])
解决措施(二):在半程解决方案的基础上改进
改进动机:由于我们并不希望所有程序都去调试运行,故:
哈哈哈哈,皮一下:试试"以非调试方式运行",即可.