引用博客地址:
https://www.cnblogs.com/newsss/p/12080763.html
思考:如果把测试文件、测试报告、日志信息放在某一个路径下需要读取和保存的话 需要给对应方法提供路径,假如data放着测试数据:test_date.xlsx 路径如何获取那?
方法一:
1)获取py脚本所在路径
os.path.realpath((file))
2)使用os.path.split()分割路径与文件,以元组的形式返回,我们运用这个特性获取py文件的上级路径‘script’。
os.path.split(os.path.realpath(file))[0]
3)使用os.path.join()进行路径拼接,如果直接使用如下的方式,结果并不是我想要的。
a=os.path.split(os.path.realpath(file))[0]
print(os.path.join(a,"data"))
解决办法:
1.思考:前面有跟目录无法进行替换,我需要连接data目录。我想到的是折中一下,在此目录下设置个配置文件,写上对应的绝对路径:“/python_框架设计”再使用os.path.join()
2.想好就做,如下 创建一个配置文件
3.配置文件写好了,这时候读取配置文件中的绝对路径进行拼接
import configparser
a=os.path.split(os.path.realpath(file))[0]
cf=configparser.ConfigParser()
cf.read(os.path.join(a,"config.conf"))
project_path=cf.get("projectConfig","project_path")
data=os.path.join(project_path,'data')
print(data)
ConfigParser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: "%&'" 解决方案
大致意思是,因为ini的内容中包含了%号这种特殊符号。
解决方案
换一种方式进行读取配置文件
原本代码:cf= configparser.ConfigParser()
替换成:
cf = configparser.RawConfigParser()