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将会出现找不到路径的错误
在这里插入图片描述

3. 解决方法

点击debug后,如图所示,点击设置按钮进入launch.json文件中
在这里插入图片描述
在launch.json中添加配置

"cwd": "${fileDirname}" 

如下图所示
在这里插入图片描述
将鼠标放在cwd上可以看出cwd就是设置程序被调试时的绝对路径
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Visual Studio Code中,相对路径是相对于当前文件或项目根目录的路径。当使用相对路径时,需要注意当前文件所在的目录。默认情况下,Visual Studio Code将项目的根路径作为当前文件所在的目录。所以,如果你在代码中使用相对路径时出现路径错误的情况,可能是因为当前文件所在的目录与你期望的不同。 为了解决这个问题,你可以在launch.json文件中添加一个配置项来设置程序被调试时的绝对路径。具体做法是在launch.json的配置项中添加一个"cwd"字段,并将其值设置为"${fileDirname}"。这样,程序在被调试时会将当前文件的目录作为绝对路径。这样可以确保相对路径的正确性。 总结起来,Visual Studio Code中的相对路径是相对于当前文件或项目根目录的路径。为了避免路径错误,可以在launch.json文件中设置"cwd"字段为"${fileDirname}",以确保程序被调试时使用正确的绝对路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vscode-copy-path:Visual Studio Code的复制路径扩展](https://download.csdn.net/download/weixin_42146274/18739924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Vscode相对路径读取问题及处理](https://blog.csdn.net/qq_44259670/article/details/119733628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [VScode 文件相对路径处理](https://blog.csdn.net/orangerfun/article/details/120660631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值