python模块导入
1 新建tools.py
2 在另一个python文件中
import tools
rosrun xxx 报错 no module name tools
原因: rosrun问题,默认当前路径不是python文件路径
之后可以通过 在scripts目录下 python3 xx.py
可以执行。
解决方式
导入 os获取路径
rosrun执行
path= os.path.abspath( .)
rospy.logingo(“执行时参考的路径:s%”,path)
会显示工作空间目录
python3执行
会一直显示到scripts目录。
#可以通过添加临时环境变量
程序执行时以来tools直接到0的位置查找。
import os
import sys
path = os.path.abspath(".")
#设置临时环境变量,添加到0的位置,动态获取
sys.path.insert(0,path + "/src/plumbing_pub_sub/scripts")
#也可以通过 pwd获取全部位置,直接写入,但是路径写死,影响代码的可移植性
sys.path.insert(0,"home/demo/src/plumbing_pub_sub/scripts")