原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。
原始字符串除在字符串的第一个引号前加上字母“r”(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
如:
>>>
'\n'
'\n'
>>>
print
'\n'
>>> r
'\n'
'\\n'
>>>
print
r
'\n'
\n
使用原始字符串,可以让我们减少错误。
如下例子中,打开readme.txt时出现异常,就是因为'\r'和'\t'被当成不在我们的文件名中的特殊字符。
>>> f
=
open
(
"D:\windows\temp\readme.txt"
,
'r'
)
Traceback (most recent call last):
File
"<pyshell#0>"
, line
1
,
in
<module>
f
=
open
(
"D:\windows\temp\readme.txt"
,
'r'
)
IOError: [Errno
22
] invalid mode (
'r'
)
or
filename:
'D:\\windows\temp\readme.txt'
>>> f
=
open
(r
"D:\windows\temp\readme.txt"
,
'r'
)
>>> f.readline()
'Hello World!'
>>> f.close()
原始字符串的特性是我们的工作变得方便,如正则表达式的使用:
>>>
import
re
>>> m
=
re.search(
'\\[rtfvn]'
,r
'hello world!\n'
)
>>>
if
m
is
not
None
: m.group()
>>> m
=
re.search(r
'\\[rtfvn]'
,r
'hello world!\n'
)
>>>
if
m
is
not
None
: m.group()
'\\n'
>>>