python中的正斜杠與反斜杠實例驗證
一、歷史淵源
- UNIX操作系統(tǒng):設(shè)計了使用 ‘/’ 的路徑分割法
- DOS系統(tǒng):借鑒了UNIX的目錄結(jié)構(gòu),但由于在DOS系統(tǒng)中,斜杠 ‘/’ 已經(jīng)用來作為命令行參數(shù)的標志,因此只能使用反斜杠 ‘\’
- Windows系統(tǒng):很多時候已經(jīng)沒有命令行參數(shù)的干擾,因此正斜杠與反斜杠大多數(shù)情況下可以互換
二、實例驗證
桌面新建臨時Excel文件——test.xlsx,絕對路徑為‘C:\Users\liu19\Desktop\test.xlsx’
下面以五種路徑方式讀入python:
方式一:路徑中采用反斜杠,路徑前面加r
note:路徑前加r,防止程序?qū)?‘\’ 當(dāng)做轉(zhuǎn)義字符
方式二: 路徑中采用反斜杠,路徑前面不加r
方式三: 路徑中采用雙反斜杠,路徑前面不加r
note:與方式一中加r的作用一樣
方式四:使用正斜杠,路徑前面不加r
方式五:使用反斜杠,路徑前面加r,路徑中全采用小寫
三、總結(jié)
- Windows中 ‘\’ 為特殊字符,會對后面的內(nèi)容進行轉(zhuǎn)義(\r、\t等),在路徑前面加上r之后,‘\’ 就變成了普通字符,不會再對后面的字符進行轉(zhuǎn)義
- ‘\\’ 用第一個 ‘\’ 取消第二個 ‘\’ 的轉(zhuǎn)義作用
- 使用正斜杠也是有效路徑,且可以省去轉(zhuǎn)義的煩惱
- 路徑大小寫不敏感
總之,若只用 ‘\’ ,則一定要去除反斜杠的轉(zhuǎn)義功能,要么在整體路徑前面加r,要么使用雙反斜杠。
擴展:Python 基礎(chǔ)篇-正斜杠("/")和反斜杠("\")的用法
今天為大家講一講正反斜杠的常見應(yīng)用:一個就是路徑里的應(yīng)用,還有就是反斜杠在正則表達式里的不同。
路徑上的應(yīng)用
首先告訴大家,用于路徑上,python是不區(qū)分正("/")反("\")斜杠的。
但是呢,反斜杠本身屬于轉(zhuǎn)義符,如果"\"后正好有個n,那就會識別為換行符。
所以一般我們這樣:
r"E:\Python\Lib\site_packages" ,r告訴字符串,這個里面的反斜杠不需要轉(zhuǎn)義。
"E:\\Python\\Lib\\site_packages" ,我把每個反斜杠都轉(zhuǎn)義。
"E:/Python/Lib/site_packages" ,全是正斜杠,不需要轉(zhuǎn)義。
正則表達式里的反斜杠
正則表達式為什么不同,因為正則表達式要經(jīng)過兩次轉(zhuǎn)義:先經(jīng)過字符串轉(zhuǎn)義,再來正則表達式自己的轉(zhuǎn)義。
正則表達式想要匹配反斜杠的話,需要寫成這樣:
"\\\\",第一次轉(zhuǎn)義為"\\",第二次轉(zhuǎn)義為"\"。
r"\\",告訴python,第一次不轉(zhuǎn)義了,直接進行第二次轉(zhuǎn)義。
到此這篇關(guān)于python中的正斜杠與反斜杠實例驗證的文章就介紹到這了,更多相關(guān)python 正斜杠與反斜杠內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用turtle和matplotlib繪制圓和愛心的示例代碼
這篇文章主要是帶大家用Python的turtle和matplotlib畫出圓滿和愛心,文中的示例代碼講解的非常詳細,對我們學(xué)習(xí)Python有一定幫助,感興趣的可以了解一下2023-06-06Pytorch中torch.flatten()和torch.nn.Flatten()實例詳解
這篇文章主要給大家介紹了關(guān)于Pytorch中torch.flatten()和torch.nn.Flatten()的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-02-02python數(shù)組中的?k-diff?數(shù)對例題解析
這篇文章主要介紹了python數(shù)組中的?k-diff?數(shù)對例題解析,文章根據(jù)題目內(nèi)容對其進行分析以此展開主題內(nèi)容,感興趣的小伙伴可以參考一下下面文章詳情2022-06-06詳解如何用django實現(xiàn)redirect的幾種方法總結(jié)
這篇文章主要介紹了如何用django實現(xiàn)redirect的幾種方法總結(jié),詳細的介紹3種實現(xiàn)方式,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11PyTorch中的train()、eval()和no_grad()的使用
本文主要介紹了PyTorch中的train()、eval()和no_grad()的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04