[vscode] [python] 运行.py文件时找不到相对路径的问题解决方法

1.问题描述

当使用vscode的RUN AND DEBUG插件直接运行.py文件时,发现相对路径实效了,找不到相对路径!

2.问题原因

这是因为vscode运行时把路径设置在了文件夹的根目录下.例如我打开的项目路径是/home/lidar_trajectory,vscode运行代码时就把这个目录当作成当前目录,

而我运行的py文件位于/home/lidar_trajectory/scripts目录下,相对路径都是相对这个目录的,当然就索引不到.

3.解决方法

解决方法是使用os.chdir(sys.path[0])把当前py文件所在路径设置为当前运行路径.

import os
import sys
print(f"vscode current run path is {os.getcwd()}")
os.chdir(sys.path[0])
print(f"set  py path as current path ")
print(f"vscode current run path is {os.getcwd()}")

打印的信息为:

> vscode current run path is /home/lidar_trajectory
> set  py path as current path 
> vscode current run path is /home/lidar_trajectory/scripts

可见,vscode的当前运行目录已经改成了py文件所在的目录.就可以使用相对路径了.

拓展知识

os.chdir()函数是设置程序运行的工作目录,程序运行的工作目录变量可以通过os.getcwd()获取.拓展链接

sys.path[ ]函数返回一个列表,包含了与python解释器和它的环境有关的函数,为了让py文件在运行时检索到我们自己编译的rosmsg文件,就可以认为额外的向这个列表增加路径.
例如为编译的rosmsg文件都在/home/catkin_ws_xwyd/src目录下,那么在编译msg之后,要想让py文件检索到msg文件,就需要在引用msg之前加入这个路径:

sys.path.append("/home/catkin_ws_xwyd/devel/lib/python3/dist-packages")  # 添加解释器,以便检索到rosmsg地址
  • 11
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值