1. 程式人生 > 實用技巧 >os路徑拼接時,比如os.path.join(base_dir,"Outputs\logs")後半段斜槓請小心被識別為轉義字元\,所以請用/,因為windows都能識別到此路徑。

os路徑拼接時,比如os.path.join(base_dir,"Outputs\logs")後半段斜槓請小心被識別為轉義字元\,所以請用/,因為windows都能識別到此路徑。

我的路徑配置檔案如下:


import os

#框架專案頂層目錄
base_dir = os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
print(base_dir)
testdatas_dir = os.path.join(base_dir,"TestDatas")

testcases_dir = os.path.join(base_dir,"TestCases")


htmlreport_dir = os.path.join(base_dir,"Outputs/reports")#只能用/不然執行會有報錯,因為python 用反斜槓 \ 來轉義字元

print(htmlreport_dir)
logs_dir = os.path.join(base_dir,"Outputs\logs")#正反斜框都可日誌儲存成功
print(logs_dir)
# config_dir = os.path.join(base_dir,"Config")

screenshot_dir = os.path.join(base_dir,"Outputs/screenshots")#正反斜框都可截圖儲存成功
print(screenshot_dir)
#輸出為:D:\py22_Web_Study\web自動化-階段3-pytest應用(2)-fixture騷操作+引數化+標記用例-2019-1211\Outputs/
screenshots
#總結:斜槓方向不統一 其實windows都能自動糾正為正確斜框,識別到此路徑。不寫/因為它是轉義字元 遇上特殊字元會被當成別的含義,比如/r是轉義字元 代表回車
所以如果Os拼接路徑時,後半段是兩層路徑 請一定用/ ,避免被當成轉義字元