批处理命令运行python程序:sys.path使用相对路径
sys.path使用
自动化测试中需要使用批处理命令运行测试脚本,此时需要使用到sys.path.append来添加当前项目目录来支持脚本import模块,但一般都是用绝对路径如:sys.path.append(‘c:\project\pro’)但是这样的话如果我的脚本更换电脑或者路径那就不得不手动修改源码,我需要一种一劳永逸的方法。
sys.path.append(os.path.realpath(’…’))方法
首先我自然而然的想到了获取当前路径的方法
import os
path = os.path.dirname(os.path.dirname(__file__))
sys.path.append(path)
但很遗憾,并不起作用,双击bat文件,脚本无法运行
经过多方查找找到了如下方法
import sys,os
sys.path.append(os.path.realpath('..'))
测试使用bat运行后成功
此外还有其他替代方法
this_dir = os.path.dirname(__file__)
filename = os.path.realpath("{0}/relative/file.path".format(this_dir))
还有sys.path.insert指定需要去的目录。 例如,需要上一级目录
import sys
sys.path.insert(0, '../')