您好,登錄后才能下訂單哦!
這篇“python指定路徑斜杠與反斜杠遇到的問題怎么解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python指定路徑斜杠與反斜杠遇到的問題怎么解決”文章吧。
報錯:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UX
這是python中指定路徑的問題,因為Windows下的路徑都是反斜桿(如上圖所示),在很多編程語言中會不認識"\"
字符,可能會把它識別成轉義字符(python就是把它當成了轉義字符),如果按照Windows下的路徑輸入,代碼運行就會出現上述的錯誤
這個錯誤有兩種解決方法:
1. 在路徑前面加一個r字母:讓路徑變成原始字符串,意思就是不讓\n
,\t
等有特殊含義的影響指定的路徑
imge=cv2.imread(r"C:\Users\Chengguo\Desktop\py_study\Alexnet\cifar_pictures\NO.0class6.jpg")
2. 在所有的反斜杠前面在加一條斜杠:意思是進行斜杠轉義,目的也是排除\t
,\n
等的影響
imge=cv2.imread("C:\\Users\\Chengguo\\Desktop\\py_study\\Alexnet\\cifar_pictures\\NO.0class6.jpg")
這里注意一下,指定路徑的話最好還是直接用正斜杠(不論是相對路徑還是絕對路徑),避免出現上述的錯誤
imge=cv2.imread("C:/Users/Chengguo/Desktop/py_study/Alexnet/cifar_pictures/NO.0class6.jpg")
字符串轉義序列(Escape Sequences)
對于字符串轉義序列,你需要再字符串中應用它們,確認自己清楚地知道它們的功能
UNIX操作系統:設計了使用 ‘/’ 的路徑分割法
DOS系統:借鑒了UNIX的目錄結構,但由于在DOS系統中,斜杠 ‘/’ 已經用來作為命令行參數的標志,因此只能使用反斜杠 ‘\’
Windows系統:很多時候已經沒有命令行參數的干擾,因此正斜杠與反斜杠大多數情況下可以互換
桌面新建臨時Excel文件——test.xlsx,絕對路徑為‘C:\Users\liu19\Desktop\test.xlsx’
下面以五種路徑方式讀入python:
方式一:路徑中采用反斜杠,路徑前面加r
note:路徑前加r,防止程序將 ‘\’ 當做轉義字符
方式二: 路徑中采用反斜杠,路徑前面不加r
方式三: 路徑中采用雙反斜杠,路徑前面不加r
note:與方式一中加r的作用一樣
方式四:使用正斜杠,路徑前面不加r
方式五:使用反斜杠,路徑前面加r,路徑中全采用小寫
小結:
Windows中 ‘\’ 為特殊字符,會對后面的內容進行轉義(\r、\t等),在路徑前面加上r之后,‘\’ 就變成了普通字符,不會再對后面的字符進行轉義
‘\\’ 用第一個 ‘\’ 取消第二個 ‘\’ 的轉義作用
使用正斜杠也是有效路徑,且可以省去轉義的煩惱
路徑大小寫不敏感
總之,若只用 ‘\’ ,則一定要去除反斜杠的轉義功能,要么在整體路徑前面加r,要么使用雙反斜杠。
以上就是關于“python指定路徑斜杠與反斜杠遇到的問題怎么解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。