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