詳解Python中的正斜杠與反斜杠
首先,"/"左傾斜是正斜杠,"\"右傾斜是反斜杠,可以記為:除號是正斜杠一般來說對于目錄分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是現(xiàn)在Windows
(一)目錄中的斜杠們
python讀文件需要輸入的目錄參數(shù),列出以下例子:
path = r"C:\Windows\temp\readme.txt" path1 = r"c:\windows\temp\readme.txt" path2 = "c:\\windows\\temp\\readme.txt" path3 = "c:/windows/temp/readme.txt"
打開文件函數(shù)open()中的參數(shù)可以是path也可以是path1、path2、path3。
path:"\"為字符串中的特殊字符,加上r后變?yōu)樵甲址?,則不會對字符串中的"\t"、"\r" 進(jìn)行字符串轉(zhuǎn)義
path1:大小寫不影響windows定位到文件
path2:用一個"\"取消第二個"\"的特殊轉(zhuǎn)義作用,即為"\\"
path3:用正斜杠做目錄分隔符也可以轉(zhuǎn)到對應(yīng)目錄,并且在python中path3的方式也省去了反斜杠\轉(zhuǎn)義的煩惱
例:在Python中,記錄路徑時有以下幾種寫法,如:(大家都知道\n是換行的意思)
report_dir1=r‘C:\Local\Programs\Python\Python35\Lib\n_test' report_dir2=‘C:\\Local\\Programs\\Python\\Python35\\Lib\\n_test' report_dir3=‘C:/Local/Programs/Python/Python35/Lib/n_test'
這三個路徑的寫法是等價的:
report_dir1中加入r后,使得編譯器不會把‘\n_test'中的“\n”單獨作為一個換行符,而是與后面的“_test”作為一個整體。
report_dir2中都是\\,使用雙斜杠是因為其中一個反斜杠代表轉(zhuǎn)義的意思,因此每一個\\都被轉(zhuǎn)義成\。
report_dir3就不用自說了。
另外,補(bǔ)充一點,在Python中,如果在打印的句末加上"\",則為下一行繼續(xù),不會換行。
(二)正則表達(dá)式中的斜杠們
正則表達(dá)式匹配反斜杠"\",為什么是"\\\\"或是 r"\\"呢?
因為在正則表達(dá)式中\(zhòng)為特殊符號,為了取消它在正則表達(dá)式中的特殊意義需要加一個\就變成了\\,但是問題又來了,\也是字符串中的特殊字符,所以又要分別對兩個\取消其特殊意義,即為\\\\。Python中有一個原始字符串操作符,用于那些字符串中出現(xiàn)特殊字符,在原始字符串中,沒有轉(zhuǎn)義字符和不能打印的字符。這樣就可以取消了\在字符串中的轉(zhuǎn)義功能,即r"\\"。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python之pyinstaller組件打包命令和異常解析實戰(zhàn)
前段時間在制作小工具的時候,直接在命令行用pyinstaller工具打包成功后,啟動exe可執(zhí)行文件的時候各種報錯, 今天,我們就分享一下踩坑經(jīng)過,需要的朋友可以參考下2021-09-09python+opencv像素的加減和加權(quán)操作的實現(xiàn)
這篇文章主要介紹了python+opencv像素的加減和加權(quán)操作的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07基于logstash實現(xiàn)日志文件同步elasticsearch
這篇文章主要介紹了基于logstash實現(xiàn)日志文件同步elasticsearch,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08運(yùn)用Python的webbrowser實現(xiàn)定時打開特定網(wǎng)頁
今天小編就為大家分享一篇運(yùn)用Python的webbrowser實現(xiàn)定時打開特定網(wǎng)頁,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02