溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python指定路徑斜杠與反斜杠遇到的問題怎么解決

發(fā)布時(shí)間:2023-03-09 14:54:58 來(lái)源:億速云 閱讀:204 作者:iii 欄目:開發(fā)技術(shù)

這篇“python指定路徑斜杠與反斜杠遇到的問題怎么解決”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“python指定路徑斜杠與反斜杠遇到的問題怎么解決”文章吧。

    指定路徑斜杠與反斜杠的問題

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    報(bào)錯(cuò):SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UX

    解決方法

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    這是python中指定路徑的問題,因?yàn)閃indows下的路徑都是反斜桿(如上圖所示),在很多編程語(yǔ)言中會(huì)不認(rèn)識(shí)"\"字符,可能會(huì)把它識(shí)別成轉(zhuǎn)義字符(python就是把它當(dāng)成了轉(zhuǎn)義字符),如果按照Windows下的路徑輸入,代碼運(yùn)行就會(huì)出現(xiàn)上述的錯(cuò)誤

    這個(gè)錯(cuò)誤有兩種解決方法:

    1. 在路徑前面加一個(gè)r字母:讓路徑變成原始字符串,意思就是不讓\n\t等有特殊含義的影響指定的路徑

    imge=cv2.imread(r"C:\Users\Chengguo\Desktop\py_study\Alexnet\cifar_pictures\NO.0class6.jpg")

    2. 在所有的反斜杠前面在加一條斜杠:意思是進(jìn)行斜杠轉(zhuǎn)義,目的也是排除\t,\n等的影響

    imge=cv2.imread("C:\\Users\\Chengguo\\Desktop\\py_study\\Alexnet\\cifar_pictures\\NO.0class6.jpg")

    這里注意一下,指定路徑的話最好還是直接用正斜杠(不論是相對(duì)路徑還是絕對(duì)路徑),避免出現(xiàn)上述的錯(cuò)誤

    imge=cv2.imread("C:/Users/Chengguo/Desktop/py_study/Alexnet/cifar_pictures/NO.0class6.jpg")

    字符串轉(zhuǎn)義序列(Escape Sequences)

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    對(duì)于字符串轉(zhuǎn)義序列,你需要再字符串中應(yīng)用它們,確認(rèn)自己清楚地知道它們的功能

    正斜杠與反斜杠

    歷史淵源

    • UNIX操作系統(tǒng):設(shè)計(jì)了使用 ‘/’ 的路徑分割法

    • DOS系統(tǒng):借鑒了UNIX的目錄結(jié)構(gòu),但由于在DOS系統(tǒng)中,斜杠 ‘/’ 已經(jīng)用來(lái)作為命令行參數(shù)的標(biāo)志,因此只能使用反斜杠 ‘\’

    • Windows系統(tǒng):很多時(shí)候已經(jīng)沒有命令行參數(shù)的干擾,因此正斜杠與反斜杠大多數(shù)情況下可以互換 

    實(shí)例驗(yàn)證

    桌面新建臨時(shí)Excel文件——test.xlsx,絕對(duì)路徑為‘C:\Users\liu19\Desktop\test.xlsx’

    下面以五種路徑方式讀入python:

    方式一:路徑中采用反斜杠,路徑前面加r

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    note:路徑前加r,防止程序?qū)?‘\’ 當(dāng)做轉(zhuǎn)義字符

    方式二: 路徑中采用反斜杠,路徑前面不加r

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    方式三: 路徑中采用雙反斜杠,路徑前面不加r

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    note:與方式一中加r的作用一樣

    方式四:使用正斜杠,路徑前面不加r

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    方式五:使用反斜杠,路徑前面加r,路徑中全采用小寫

    python指定路徑斜杠與反斜杠遇到的問題怎么解決

    小結(jié):

    • Windows中 ‘\’ 為特殊字符,會(huì)對(duì)后面的內(nèi)容進(jìn)行轉(zhuǎn)義(\r、\t等),在路徑前面加上r之后,‘\’ 就變成了普通字符,不會(huì)再對(duì)后面的字符進(jìn)行轉(zhuǎn)義

    • ‘\\’ 用第一個(gè) ‘\’ 取消第二個(gè) ‘\’ 的轉(zhuǎn)義作用

    • 使用正斜杠也是有效路徑,且可以省去轉(zhuǎn)義的煩惱

    • 路徑大小寫不敏感

    總之,若只用 ‘\’ ,則一定要去除反斜杠的轉(zhuǎn)義功能,要么在整體路徑前面加r,要么使用雙反斜杠。 

    以上就是關(guān)于“python指定路徑斜杠與反斜杠遇到的問題怎么解決”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI