关于c:\的一个有趣的问题

关于c:\的一个有趣的问题

>>> a=r'c:\'
  File "<stdin>", line 1
    a=r'c:\'
           ^
SyntaxError: EOL while scanning single-quoted string

a="""c:\""""才能结束,但是反应出来的是c:"

郁闷了,难道只能用a="c:\\"才能表达出c:\吗
也就是说,是不是字符串最后是\,那么r字符串和"""字符串都不能用啊
Python Reference Manual 说:

QUOTE:
r"\" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw string cannot end in a single backslash (since the backslash would escape the following quote character).

受教了,多谢
看来还是看书不细啊
不客气。

如果嫌写 "\\" 麻烦,可以先把它放在一个变量里。

bs='\\'

要用的时候再粘上去,

pth= r'c:\window\foo\bar'+bs

这里有个变态的做法:r'c:\windows\foo\bar\ '[:-1]
嗯,现在我用的就是你说的第一种方法不过把bs换成了os.sep

另第二种方法是挺变态的


QUOTE:
原帖由 iscien 于 2008-8-11 12:44 发表
嗯,现在我用的就是你说的第一种方法不过把bs换成了os.sep

用 python 真郁闷。当你以为得到一个好想法时,却发现库里早就有了!
所有就要多发现哦。呵呵。多看看官方的docs,还有些新功能的说明
嗯嗯。。