Crossin的编程教室

标题: 请教:奇怪的字符串定界符问题 [打印本页]

作者: hymyg    时间: 2016-10-25 08:46
标题: 请教:奇怪的字符串定界符问题
>>> a=r'.\data\'
  File "<stdin>", line 1
    a=r'.\data\'
               ^
SyntaxError: EOL while scanning string literal


程序中的“.\data\”是Windows路径,可在定义字符串时就报错了,把最后的“\”去掉就正常。实在不知道为什么会报错。Python2.7


作者: hymyg    时间: 2016-10-25 11:36
结贴!
作者: crossin先生    时间: 2016-10-25 23:29
后面的\把单引号给转义了
作者: hymyg    时间: 2016-10-27 09:39
crossin先生 发表于 2016-10-25 23:29
后面的\把单引号给转义了

关键是前面的r在碰到最后一个\的时候没有起作用,这跟r的含义好像是有冲突的。
作者: crossin先生    时间: 2016-10-27 13:14
hymyg 发表于 2016-10-27 09:39
关键是前面的r在碰到最后一个\的时候没有起作用,这跟r的含义好像是有冲突的。 ...

是,这里是个坑。
r虽然能保证里面能内容不被转义,但本身在代码层面的时候,这个'已经被转了,起不到引号的作用
作者: hymyg    时间: 2016-10-27 18:06
crossin先生 发表于 2016-10-27 13:14
是,这里是个坑。
r虽然能保证里面能内容不被转义,但本身在代码层面的时候,这个'已经被转了,起不到引 ...

谢谢crossin老师
作者: anyone    时间: 2016-10-27 21:02
crossin先生 发表于 2016-10-27 13:14
是,这里是个坑。
r虽然能保证里面能内容不被转义,但本身在代码层面的时候,这个'已经被转了,起不到引 ...

如果我需要在str的最后是'\', 那么该如何做呢? 有没有一些解决的方法? 谢谢.
作者: crossin先生    时间: 2016-10-28 14:19
anyone 发表于 2016-10-27 21:02
如果我需要在str的最后是'\', 那么该如何做呢? 有没有一些解决的方法? 谢谢. ...

不用r,直接'abc\\'这样吧,\\就是转义成\





欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5