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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM