先看下方一張截圖:
我們先理解絕對路徑&相對路徑的含義
1. 概念(或者說個人理解):
絕對位置:就是具體的位置,從最起始位置開始算起,如:C的絕對位置在座標圖中就是(1,3)
相對位置:顧名知意,就是找尋某個參照物,相對這個參照物的位置是什麼 ,在座標圖中就類似相對位置,如C相當於B的座標就是縱
座標加1,我們如果知道B的座標,那麼C的座標就知道了,比如B=(4,2),那麼就很容易得到 C=(4,2+1)=(4,3)
瞭解了絕對位置&相對位置,那麼絕對路徑和相對路徑就相對理解起來較容易些了
絕對路徑:就是完整路徑,在windows中,就是從盤符開始,直到目標文件,如果是Linux中,那麼就從“/”根目錄開始
相對路徑: 就是目標文件相對某個文件的路徑,實在理解不了,可以查看3中相對路徑的實例
**2. 絕對路徑 **
windows中:
如截圖中所示,hello_01的絕對路徑就是:D:\APP_Workplaces\AutoTest_Learn\hello_01.txt
Linux中:
那麼python3中bin的絕對路徑就是: /app_Install/python3/bin
2. 相對路徑 (python打開文件讀寫文件爲例)
先看一組目錄結構:
在aa.py文件中分別打開各個目錄下的txt文件
1) 打開同目錄下(即:直接父目錄是同一個)的aa.txt文件:
with open(r"aa.txt", "r+", encoding="UTF-8") as f: # 當前文件與打開的目標文件的直接父目錄是同一個
print(f"aa.txt文件的內容是:{f.read()} ")
2) 打開bb.txt文件:
with open(r"..\rode2\bb.txt", "r+", encoding="UTF-8") as f1: # 當前文件與打開的目標文件的直接父目錄是兄弟目錄(兄弟,指同一個父)
print(f"bb.txt文件的內容是:{f1.read()} ")
3) 打開cc.txt文件:
with open(r"..\cc.txt", "r+", encoding="UTF-8") as f2: # 當前文件的直接父目錄與目標文件是兄弟關係目錄
print(f"bb.txt文件的內容是:{f2.read()} ")
4) 打開dd.txt文件
with open(r"..\..\..\dd.txt", "r+", encoding="UTF-8") as f3: # 當前文件的父目錄的父目錄的父目錄的父目錄與目標文件師兄弟關係目錄
print(f"dd.txt文件的內容是:{f3.read()} ")
5) 打開ee.txt文件
通過5種情況總結下:
1) 噹噹前文件與與被操作文件(即:目標文件)在同目錄下,在當前文件中,目標文件相對路徑就是: 文件名.後綴名
2) 噹噹前文件的直接父目錄與目標文件是兄弟關係,在當前文件中,目標文件相對路徑就是: …\ 文件名.後綴名
3) 噹噹前文件的直接父目錄與目標文件的直接父目錄是兄弟關係,在當前文件中,目標文件相對路徑就是:
…\目標文件直接父目錄名\ 文件名.後綴名
4) 噹噹前文件的直接父目錄的父目錄與目標文件的直接父目錄是兄弟關係,在當前文件中,目標文件相對路徑就是:
…\目標文件直接父目錄名\ 文件名.後綴名
5) 當前文件的直接父目錄的父目錄與目標文件是兄弟關係,在當前文件中,目標文件相對路徑就是:
…\ 文件名.後綴名
對比2)3)4) 又可知:
6) **“…\”**就代表目錄回退上一層,類似dos窗口中的 cd …