python中的正斜杠與反斜杠實(shí)例驗(yàn)證
一、歷史淵源
- UNIX操作系統(tǒng):設(shè)計(jì)了使用 ‘/’ 的路徑分割法
- DOS系統(tǒng):借鑒了UNIX的目錄結(jié)構(gòu),但由于在DOS系統(tǒng)中,斜杠 ‘/’ 已經(jīng)用來作為命令行參數(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
note:路徑前加r,防止程序?qū)?‘\’ 當(dāng)做轉(zhuǎn)義字符
方式二: 路徑中采用反斜杠,路徑前面不加r
方式三: 路徑中采用雙反斜杠,路徑前面不加r
note:與方式一中加r的作用一樣
方式四:使用正斜杠,路徑前面不加r
方式五:使用反斜杠,路徑前面加r,路徑中全采用小寫
三、總結(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,要么使用雙反斜杠。
擴(kuò)展:Python 基礎(chǔ)篇-正斜杠("/")和反斜杠("\")的用法
今天為大家講一講正反斜杠的常見應(yīng)用:一個(gè)就是路徑里的應(yīng)用,還有就是反斜杠在正則表達(dá)式里的不同。
路徑上的應(yīng)用
首先告訴大家,用于路徑上,python是不區(qū)分正("/")反("\")斜杠的。
但是呢,反斜杠本身屬于轉(zhuǎn)義符,如果"\"后正好有個(gè)n,那就會(huì)識(shí)別為換行符。
所以一般我們這樣:
r"E:\Python\Lib\site_packages" ,r告訴字符串,這個(gè)里面的反斜杠不需要轉(zhuǎn)義。
"E:\\Python\\Lib\\site_packages" ,我把每個(gè)反斜杠都轉(zhuǎn)義。
"E:/Python/Lib/site_packages" ,全是正斜杠,不需要轉(zhuǎn)義。
正則表達(dá)式里的反斜杠
正則表達(dá)式為什么不同,因?yàn)檎齽t表達(dá)式要經(jīng)過兩次轉(zhuǎn)義:先經(jīng)過字符串轉(zhuǎn)義,再來正則表達(dá)式自己的轉(zhuǎn)義。
正則表達(dá)式想要匹配反斜杠的話,需要寫成這樣:
"\\\\",第一次轉(zhuǎn)義為"\\",第二次轉(zhuǎn)義為"\"。
r"\\",告訴python,第一次不轉(zhuǎn)義了,直接進(jìn)行第二次轉(zhuǎn)義。
到此這篇關(guān)于python中的正斜杠與反斜杠實(shí)例驗(yàn)證的文章就介紹到這了,更多相關(guān)python 正斜杠與反斜杠內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python中路徑字符串斜杠替換方式
- python指定路徑斜杠與反斜杠遇到的問題
- python使用正則表達(dá)式匹配反斜杠\遇到的問題
- 一篇文章搞懂Python反斜杠的相關(guān)問題
- python正則表達(dá)式 匹配反斜杠的操作方法
- python如何輸出反斜杠
- Python字符串和正則表達(dá)式中的反斜杠(''\'')問題詳解
- Python中正反斜杠(‘/’和‘\’)的意義與用法
- python中的反斜杠問題深入講解
- 解決Python正則表達(dá)式匹配反斜杠''''\''''問題
- Python3.6-MySql中插入文件路徑,丟失反斜杠的解決方法
- 一文詳細(xì)介紹Python兩條斜杠 // 的作用和用法
相關(guān)文章
Python使用turtle和matplotlib繪制圓和愛心的示例代碼
這篇文章主要是帶大家用Python的turtle和matplotlib畫出圓滿和愛心,文中的示例代碼講解的非常詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,感興趣的可以了解一下2023-06-06Pytorch中torch.flatten()和torch.nn.Flatten()實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Pytorch中torch.flatten()和torch.nn.Flatten()的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02關(guān)于Pandas缺失值inf與nan的處理實(shí)踐
這篇文章主要介紹了關(guān)于Pandas缺失值inf與nan的處理實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06python數(shù)組中的?k-diff?數(shù)對(duì)例題解析
這篇文章主要介紹了python數(shù)組中的?k-diff?數(shù)對(duì)例題解析,文章根據(jù)題目?jī)?nèi)容對(duì)其進(jìn)行分析以此展開主題內(nèi)容,感興趣的小伙伴可以參考一下下面文章詳情2022-06-06詳解如何用django實(shí)現(xiàn)redirect的幾種方法總結(jié)
這篇文章主要介紹了如何用django實(shí)現(xiàn)redirect的幾種方法總結(jié),詳細(xì)的介紹3種實(shí)現(xiàn)方式,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11PyTorch中的train()、eval()和no_grad()的使用
本文主要介紹了PyTorch中的train()、eval()和no_grad()的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04