vscode调试python脚本,打开文件显示没有文件或目录。

在Linux环境下,当从命令行运行Python脚本时,工作目录是脚本所在目录。但在VSCode中,如果不修改launch.json的cwd配置,工作目录将是项目根目录,导致相对路径失效。为解决此问题,可以在代码中添加os.chdir(sys.path[0])来切换到脚本当前目录,确保文件操作基于正确路径。
摘要由CSDN通过智能技术生成

在linux终端命令行跳转到脚本所在目录,可以用python ***.py运行,但是无法单步调试。
原因:在vscode中,默认将工作区作为当前工作目录,所以工作区下子目录中的python文件再尝试使用相对路径打开文件时,会找不到文件。(这篇文章实例很清晰)
参考这篇超全的文章

在命令行中运行 py 文件,工作目录取决于当前命令行所在的目录,由于通常我们会将命令行 cd 到 py文件 同目录下(这样没有执行的时候不需要敲一堆路径,python src/bala/bala/program.py 之类的),工作目录就与 py文件 同目录,生成的文件自然在这个目录下
如果从 vscode 中启动,如果没有修改 launch.json 中的 cwd 的值,默认以 “${workspaceFolder}” 作为工作目录(项目根目录),所以相对路径的起点也要从这个目录开始。

在这里插入图片描述
在这里插入图片描述
解决方案:
在代码中加入这两行

import os, sys

os.chdir(sys.path[0])

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值