VScode 文件相对路径处理

1. 背景

在项目的一些程序中会使用相对路径,如从数据目录中加载数据或写入日志parser.add_argument('--log_path', default='log/train.log', type=str, required=False, help='训练日志存放位置') 我们通常会直接使用相对路径,但是在用vs code直接运行脚本时会报错FileNotFoundError: [Errno 2] No such file or directory: './xxx.py'

2. 原因

vs code默认是将项目的root路径作为当前所在的路径,如图所示有一个CPM项目,假设CPM项目所在的路径为/code/pro/CPM/,当运行train.py文件时,vs code默认将/code/pro/作为当前文件所在的目录,因此在train.py中将日志路径设置为./log/train.log将会出现找不到路径的错误
VScode 文件相对路径处理_第1张图片

3. 解决方法

点击debug后,如图所示,点击设置按钮进入launch.json文件中
VScode 文件相对路径处理_第2张图片
在launch.json中添加配置

"cwd": "${fileDirname}" 

如下图所示
VScode 文件相对路径处理_第3张图片
将鼠标放在cwd上可以看出cwd就是设置程序被调试时的绝对路径
VScode 文件相对路径处理_第4张图片

你可能感兴趣的:(其他,vscode)