1. 程式人生 > 程式設計 >python如何輸出反斜槓

python如何輸出反斜槓

python本身使用 \ 來轉義一些特殊字元,比如在字串中加入引號的時候

s = 'i\'m superman'
print(s)  # i'm superman

為了防止和字串本身的引號衝突,使用 \ 來轉義,一般情況下這個也不會引起什麼問題,但是當你要使用 \ 來轉義 \ 的時候,就比較混亂了,比如我們想要輸出一個 \ ,得寫兩個 \ ,否則會報語法錯誤,因為 \ 把後面的引號給轉義了,必須使用 \。

# 錯誤寫法
# print '\'
# 正確寫法
print('\\')   # \
# 原生字串
print(r'\\')  # \\

將 \ 轉義一下使其不具備轉義功能,才可以正確輸出,當使用原生字串的時候,輸出顯示了兩個 \ ,看起來好像是寫幾個輸出幾個的樣子,如果這樣想的話,你可以試一下,看能不能輸出奇數個 \。

知識點擴充套件:

怎麼在 python 中單獨輸出反斜槓\為字串

情況是這樣的,有個檔案檔名為'\u5feb\u901f\u4e0a\u4f20'

然後我用os.listdir('.')顯示的時候它自動給反斜槓轉義了,就成了'\\u5feb\\u901f\\u4e0a\\u4f20'

那麼問題來了,怎樣把雙斜槓替換為單斜槓?

我嘗試用字串的 replace ,可是a.replace('\\','\')會因為反斜槓把單引號轉義了而找不到字串結束符報錯,用a.replace(r'\\',r'\')也不行。

有什麼好方法可以助我目標達成嗎?

>>> name = '\u5feb\u901f\u4e0a\u4f20'
>>> print name
\u5feb\u901f\u4e0a\u4f20
>>> print repr(name)
'\\u5feb\\u901f\\u4e0a\\u4f20'
>>> print [name]
['\\u5feb\\u901f\\u4e0a\\u4f20']
>>> print [name][0]
\u5feb\u901f\u4e0a\u4f20

到此這篇關於python如何輸出反斜槓的文章就介紹到這了,更多相關python怎麼輸出反斜槓內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!