艺赛旗(RPA)新手课堂 - 原始字符串为什么不能以反斜杠结尾
藝賽旗 RPA8.0全新首發(fā)免費(fèi)下載 點(diǎn)擊下載
http://www.i-search.com.cn/index.html?from=line1 詳細(xì)內(nèi)容請(qǐng)參看藝賽旗官網(wǎng)支持欄目:RPA社區(qū)
點(diǎn)擊鏈接進(jìn)入 http://support.i-search.com.cn/
我們都知道 \ 反斜杠代表轉(zhuǎn)義,可以在后面加上字母或者符號(hào)來(lái)實(shí)現(xiàn)一些特殊的功能:
print(‘C:\nowhere’)
#打印結(jié)果如下
C:
owhere
#我們可以通過(guò)反斜杠進(jìn)行轉(zhuǎn)義,改為:
print(‘C:\nowhere’)
#輸出
C:\nowhere
但是如果對(duì)于比較長(zhǎng)的路徑,需要很多的反斜杠,這時(shí)候原始字符串就派上用場(chǎng)了。
原始字符串不會(huì)把反斜杠當(dāng)作特殊字符。
print(r’C:\nowhere’)
C:\nowhere
print(r’C:\Program Files\a\b\c\d\e\f’)
C:\Program Files\a\b\c\d\e\f
當(dāng)然,即使使用的是原始字符串,在字符串中碰到引號(hào)還是需要轉(zhuǎn)義(不要以為使用了原始字符串就不發(fā)生任何轉(zhuǎn)義了),否則解釋器就會(huì)認(rèn)為字符串在中間那個(gè)引號(hào)處已經(jīng)結(jié)束了:
print(r’Let’s go’)
SyntaxError: invalid syntax
如果在原始字符串中使用轉(zhuǎn)義,最后的輸出的字符串會(huì)包含轉(zhuǎn)義所用的反斜杠:
print(r’Let’s go’)
Let’s go
因此如果在原始字符串結(jié)尾輸入反斜杠,Python 解釋器會(huì)將最后字符串結(jié)束的引號(hào)給轉(zhuǎn)義掉,導(dǎo)致不清楚字符串是否結(jié)束而報(bào)錯(cuò):
print(r’This is illegal’)
SyntaxError: EOL while scanning string literal
查看 python 官方文檔:https://docs.python.org/2.0/ref/strings.html
里面有這樣一段:
文檔里已經(jīng)明確說(shuō)明不可以用單個(gè)反斜杠結(jié)尾了。
如果希望結(jié)尾是反斜杠,可以這樣使用:
print(r’C:\Program Files\a\b’ ‘\’)
C:\Program Files\a\b
或者這樣:
print(r’C:\Program Files\a\b’ + ‘\’)
C:\Program Files\a\b\
總結(jié)
以上是生活随笔為你收集整理的艺赛旗(RPA)新手课堂 - 原始字符串为什么不能以反斜杠结尾的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: can we change our li
- 下一篇: 智联招聘 爬虫职位信息的爬取