python-基础-os.path.realpath((__file__))、os.path.abspath((__file__))、os.path.dirname()获取文件根目录

引用博客地址:
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()

posted @ 2020-08-05 10:23  我可以2030  阅读(909)  评论(0编辑  收藏  举报