當打開並閱讀包含標記的文件(如單詞不應該)時,python用\'替換它最終不應該)。我試圖運行下面的代碼:Python:讀取txt文件後的string.replace(「'」,「'」)
a=open("file.txt")
b=a.read()
b=b.replace("\'", "'")
但是B能保持運行的第三行,也許是因爲它讀取「\「」,好像它是「」」後的相同。請幫忙。
當打開並閱讀包含標記的文件(如單詞不應該)時,python用\'替換它最終不應該)。我試圖運行下面的代碼:Python:讀取txt文件後的string.replace(「'」,「'」)
a=open("file.txt")
b=a.read()
b=b.replace("\'", "'")
但是B能保持運行的第三行,也許是因爲它讀取「\「」,好像它是「」」後的相同。請幫忙。
「\'」與「'」相同。反斜槓轉義',所以它不會執行其特殊功能。如果您有單引號字符串,那麼該功能很有用。 例如,字符串'「shouldn't」'被打印爲「不應該」。
Python 3.3.0 (default, Dec 22 2012, 21:02:07)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'shouldn't'
File "<stdin>", line 1
a = 'shouldn't'
^
SyntaxError: invalid syntax
>>> a = 'shouldn\'t'
>>> a
"shouldn't"
>>> a = '"shouldn\'t'
>>> a
'"shouldn\'t'
>>> print(a)
"shouldn't
您需要雙倍的斜線:
b=b.replace("\\'", "'")
或使用r""
原始字符串字面:
b=b.replace(r"\'", "'")
沒有翻倍斜線或原始字符串,則\'
被解釋爲協商碼意思是'
。
務必仔細檢查你是不是在尋找一個字符串表示,其中蟒蛇表示使用轉義代碼'
字符:
>>> '"' + "'"
'"\''
>>> print '"' + "'"
"'
在上面的例子中,我創建一個字符串既一張雙人牀和一個單引號字符("'
)和Python以字符串表示方式回顯給我。使用print
將打印實際的字符串內容而不是表示。請注意Python在那裏如何逃脫'
的報價。
Python不這樣做。它可能會顯示這樣的字符串,如果您打印它的表示形式(如果它也包含'''s),但它不會將反斜槓添加到實際的數據中「。 –
與@Lattyware一致,只用交互式python3解釋器進行測試根本沒有這樣做...... – fge