我有有類似下面替換\與 python中
>>> path
'\\\\sdgte\\ssdfdaa\\asfdsf'
我想用\替換\\文件夾的路徑的字符串。我試圖取代,但不如下
>>> path.replace('\\','\')
File "<input>", line 1
path.replace('\\','\')
^
SyntaxError: EOL while scanning string literal
工作有什麼幫助將高度讚賞。
我有有類似下面替換\與 python中
>>> path
'\\\\sdgte\\ssdfdaa\\asfdsf'
我想用\替換\\文件夾的路徑的字符串。我試圖取代,但不如下
>>> path.replace('\\','\')
File "<input>", line 1
path.replace('\\','\')
^
SyntaxError: EOL while scanning string literal
工作有什麼幫助將高度讚賞。
字符串中沒有「\\」。如果您打印它而不是查看它的表示,您會看到該字符串實際包含的值。
>>> print path
\\sdgte\ssdfdaa\asfdsf
您可能不需要更換任何東西。 \
是python中的一個特殊字符,意思是字符串文字中的「下一個字符」。也就是說,如果你想有一個字符串,方含反斜槓,你可能鍵入"\\"
:
>>> len('\\')
1
>>> print '\\'
\
>>> print '\\\\foo\\bar'
\\foo\bar
>>>
您應該使用逃生charachter「\」逃脫每個\在字符串中
path.replace('\\\\','\\')
你遇到的問題是\是一個轉義字符。取而代之的讀取作爲
與「\」
Python是讀你的參數作爲替代「\\」「替換爲單引號字符單反斜槓字符」。你得到錯誤的原因是因爲python忽略了你的第二個單引號,因爲它認爲這是你想要的。
你想要的是:
path.replace('\\\\', '\\')
你有逃避所有的反斜線,因爲他們是特殊的。
我嘗試過,但它只是取代第一次出現。 >>> path '\\\\ server path \\ parent folder \\ folder1' >>> path.replace('\\\\','\\') '\\ server path \\ parent folder \\ folder1' – anujkum
你得到這個SyntaxError的原因與你看到加倍反斜槓開始的原因是相同的:反斜槓是「轉義」字符,用來表示特殊序列的開始,如「\ n」換行,否則很難在字符串中表示。因此反斜槓字符本身必須用雙反斜槓表示。
在另一方面,如果你不需要在字符串中使用任何轉義序列,可以前言字符串以「R」,而不是反斜槓加倍:
path.replace(R」 \\」,R '\')
path.replace(r'\\', '\\')
「r」 表示一個 「原始」 的字符串。
現在嘗試:>>> len('\\')'在您的系統上。 –