python替換斜杠
『壹』 python 如何快速轉義路徑字元串中的斜杠
正斜杠,又稱左斜杠,符號是"/";反斜杠,也稱右斜杠,符號是"\"。
在Unix/Linux中,路徑的分隔採用正斜杠"/",比如"/home/hutaow";而在Windows中,路徑分隔採用反斜
杠"\",比如"C:\Windows\System"。
有時我們會看到這樣的路徑寫法,"C:\\Windows\\System",也就是用兩個反斜杠來分隔路徑,這種寫法在網路應用或編程中經
常看到,事實上,上面這個路徑可以用"C:/Windows/System"來代替,不會出錯。但是如果寫成了"C:\Windows\System",
那就可能會出現各種奇怪的錯誤了。
至於上述問題出現的原因,要從字元串解析這方面來分析。
學過編程的人都應該知道,在C裡面,輸出字元串時,如果想輸出一個換行,那就要加上'\n'這個標志,類似的,輸出一個TAB,就加上'
\t',也就是說,反斜杠("\")這個符號會把跟在它後面的字元結合起來轉義成其它字元。根據這個原理,如果想輸出雙引號('"'),就需要輸入'
\"',這樣才會將包含了雙引號的字元串正確的寫入內存中。那麼如果想輸入一個反斜杠呢?很簡單,只要敲'\\'就可以了。
看到這里或許有些人已經看出眉目了,如果"C:\Windows\System"這個路徑字元串交給C編譯器編譯,實際寫入內存的字元串並沒
有包含反斜杠"\",甚至緊跟在反斜杠後面的字母也一起被轉義成了其它的字元,再次調用的話勢必會出問題。
字元串解析不僅僅局限於C編譯器,Java編譯器、一些配置文件的解析、Web伺服器等等,都會遇到對字元串進行解析的這個問題,由於傳統的
Windows採用的是單個斜杠的路徑分隔形式,導致在對文件路徑進行解析的時候可能發生不必要的錯誤,所以就出現了用雙反斜杠"\\"分隔路徑的形式。
不管解析引擎是否將反斜杠解析成轉義字元,最終在內存中得到的都是"\",結果也就不會出問題了。
『貳』 python抓取的網頁源代碼中包含反斜杠,怎麼處理
上面的反斜杠是字元串中的轉義,為什麼要去掉?去掉後應該會讓url變成無效的吧。
一般使用BeautifulSoup解析網頁。創建BeautifuleSoup對象之後,直接取屬性就可以。
『叄』 python雙斜杠是什麼運算符號
Python中兩個斜杠即雙斜杠(//)表示地板除,即先做除法(/),然後向下取整(floor)。至少有一方是float型時,結果為float型;兩個數都是int型時,結果為int型。
『肆』 請教:關於 python 反斜杠轉義的疑問
例如: python2列印
>>> print 'hi,I'm Jason.'
File "<stdin>", line 1
print 'hi,I'm Jason.'
^
SyntaxError: invalid syntax
出錯了! 因為 一共有三個單引號, 因為解釋器默認左起最接近的兩個單引號為一對: 'hi,I' 所以出錯了. 那就要想辦法忽略字母 I 後面的單引號, 就規定使用斜杠 \' , 略過斜杠後的單引號
>>> print 'hi,I\'m Jason.'
hi,I'm Jason.
類似的轉義還有很多如:
\n 列印空行
\t 製表符
\\ 斜杠
等等..
多做幾個練習就會明白的.
『伍』 怎麼解決Python3.6-Mysql中插入文件路徑,丟失反斜杠的問題
怎麼解決Python3.6-MySql中插入文件路徑,丟失反斜杠的問題
轉義字元問題!!你可以用相對路徑,也就你工程下面****/*****/***/***** 要必須使用絕對路勁的話 可以使用替換 將 \\ 替換成 你想替換的 符合 再 替換回來代碼如下String s="C:\\1\\2 3";
s=s.replaceAll("\\\\", "|");
System.out.println(s);
System.out.println(s.replace('|', '\\'));
『陸』 python 表示文件目錄中的反斜杠
怎麼解決python3.6-mysql中插入文件路徑,丟失反斜杠的問題
轉義字元問題!!你可以用相對路徑,也就你工程下面****/*****/***/*****
要必須使用絕對路勁的話
可以使用替換
將
\\
替換成
你想替換的
符合
再
替換回來代碼如下string
s="c:\\1\\2
3";
s=s.replaceall("\\\\",
"|");
system.out.println(s);
system.out.println(s.replace('|',
'\\'));
『柒』 python 2.7 re模塊斜杠匹配問題
看了半天,也沒明白為什麼要用正則表達式re模塊,不都是替換插入原始字元串嗎,直接用字元串的find,replace,index等方法不就行了。
如果非要用re模塊,將出問題的正則表達式用re.escape轉義成本來的意思
>>> s1='a\n"C:\\Users\\12"\n<UL>\n'
>>> ps='a\n"C:\\Users\\12"\n<UL>\n</UL>\n"C:\\Users\\q"\n<UL>\n</UL>\n'
>>> s1 in ps
True
>>> ps=re.sub(re.escape(s1),'',ps)
『捌』 python 對反斜杠的處理問題
首先,"/"左傾斜是正斜杠,"\"右傾斜是反斜杠,可以記為:除號是正斜杠一般來說對於目錄分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是現在Windows
(一)目錄中的斜杠們
python讀文件需要輸入的目錄參數,列出以下例子:
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"
打開文件函數open()中的參數可以是path也可以是path1、path2、path3。
path:"\"為字元串中的特殊字元,加上r後變為原始字元串,則不會對字元串中的"\t"、"\r" 進行字元串轉義
path1:大小寫不影響windows定位到文件
path2:用一個"\"取消第二個"\"的特殊轉義作用,即為"\\"
path3:用正斜杠做目錄分隔符也可以轉到對應目錄,並且在python中path3的方式也省去了反斜杠\轉義的煩惱
(二)正則表達式中的斜杠們
正則表達式匹配反斜杠"\",為什麼是"\\\\"或是 r"\\"呢?
因為在正則表達式中\為特殊符號,為了取消它在正則表達式中的特殊意義需要加一個\就變成了\\,但是問題又來了,\也是字元串中的特殊字元,所以又要分別對兩個\取消其特殊意義,即為\\\\。Python中有一個原始字元串操作符,用於那些字元串中出現特殊字元,在原始字元串中,沒有轉義字元和不能列印的字元。這樣就可以取消了\在字元串中的轉義功能,即r"\\"。
『玖』 python怎麼替換為一個反反斜杠
反斜杠是轉義字元
必須用兩個反斜杠'\\'來表示反斜杠
兩個反斜杠就要用四個反斜杠來表示'\\\\'
『拾』 python 雙反斜杠\\怎麼替換為斜杠
雙斜杠是print或者寫代碼用轉義方式表示,實際字串內存中只有一個斜杠,試試replace("\\",'/')