sys.path 返回的是一个列表!
该路径已经添加到系统的环境变量了,当我们要添加自己的搜索目录时,可以通过列表的append()方法;
对于模块和自己写的脚本不在同一个目录下,在脚本开头加sys.path.append(‘xxx’):
用命令行去执行测试脚本的时候,如不添加当前项目路径,会报找不到模块的错。
在pycharm中运行的时候,pycharm会自动将项目所在目录添加到了sys.path中,所以从项目根目录查找是可以找到该模块的。
#获取项目相对路径
basedir2=os.path.dirname(os.path.dirname(__file__))
sys.path.append(basedir2)
import os
basedir1=os.path.dirname(__file__)
basedir2=os.path.dirname(os.path.dirname(__file__))
print(basedir1)
print(basedir2)
D:/shaoxchen/joyrun_auto/tools
D:/shaoxchen/joyrun_auto
如果需要导入上级目录的文件,需要获取项目相对路径才可以,不然会找不到导入的模块
例如测试脚本yp-exp.py想要引用test_case模块里引用的其他模块(init.py)
文件目录
test_case
init.py
all_case
init.py
yp-exp.py
#错误例子
在yp-exp.py
import os
import sys
basedir2=os.path.dirname(os.path.dirname(__file__))
from test_case import *
#会报错 ModuleNotFoundError: No module named ‘test_case’–找不到test_case的包
#打印basedir2的路径是 ***\test_case,这妥妥的不是项目路径,所以找不到
#正确例子
在yp-exp.py
import os
import sys
basedir2 = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
sys.path.append(basedir2)
#打印basedir2,这才是项目的根路径,才能找到test_case模块