Python字符串中的r前缀

在Python中,如果字符串的前面有r/R前缀,那么,就会禁用转义符\的功能:

复制代码
>>>path = r'C:\new\text.dat'
>>>pah
'C:\\new\\text.dat'

>>>print(path)
C:\new\text.dat

>>>len(path)   #虽然打印的形式不一样,但是字符数还是15个
15
复制代码

上面的例子中,在交互环境下打印,Python将打印结果当成Python code来看待,因此,会有双斜杠;而print函数打印形式就比较友好。但是,无论采用哪种打印方式,字符个数是不变的,上述例子中,使用len函数查看,字符个数还是15个。

 

对于r前缀,还需要注意的一点是,如果字符串结束标志,即'或者"前面是一个\,即使使用了r前缀,Python仍然将它看成不合法的字符:

复制代码
>>>S = r'a\'
SyntaxError:EOL while scanning string literal


>>>S = r'a\\'      # 正确处理方式,仍需双斜杠\\
>>>S
'a\\\\'
>>>print(S)
a\\
>>>len(S)      #每一个斜杠\都看成一个字符
3
复制代码

 

posted @   chaoguo1234  阅读(1978)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示