python在字符串结尾加反斜杠_Python原始字符串和尾部反斜杠

我曾经碰到过一个东西,想知道它是一个Python的“虫子”还是至少是一个不适合吃的东西。我很好奇是否有人知道这种行为的任何理由。我刚想到读“像Python一样的代码”,到目前为止已经很享受了。我只熟悉Python的2.x行。

原始字符串是以r为前缀的字符串。这很好,因为我可以在正则表达式中使用反斜杠,而且我不需要在任何地方都使用反斜杠。在Windows上编写一次性脚本也很方便,所以我也可以在那里使用反斜杠。(我知道我也可以使用正斜杠,但一次性脚本通常包含从Windows中其他位置粘贴的内容。)

太好了!当然,除非您真的希望字符串以反斜杠结尾。在“原始”字符串中不可能这样做。In [9]: r'\n'

Out[9]: '\\n'

In [10]: r'abc\n'

Out[10]: 'abc\\n'

In [11]: r'abc\'

------------------------------------------------

File "", line 1

r'abc\'

^

SyntaxError: EOL while scanning string literal

In [12]: r'abc\\'

Out[12]: 'abc\\\\'

所以在右引号前加一个反斜杠是错误的,但是两个反斜杠会给你两个反斜杠!当然我不是唯一一个为此烦恼的人?

关于“raw”字符串为什么是“raw,除了反斜杠引号”?我是说,如果我想在其中嵌入一个单引号,我只需要在字符串周围使用双引号,反之亦然。如果我两个都想要,我就三倍报价。如果我真的想在一个原始字符串中连续引用三个引号,那么,我想我必须处理,但是这被认为是“正确的行为”吗?

这对于Windows中的文件夹名尤其有问题,其中反斜杠是路径delimeter。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值