python读文件需要输入的目录参数,列出以下例子:
path = r"C:\Windows\temp\readme.txt"
path1 = r"c:\windows\temp\readme.txt"
path2 = "c:\\windows\\temp\\readme.txt"
path3 = "c:/windows/temp/readme.txt"
打开文件函数open()中的参数可以是path也可以是path1、path2、path3。
path:"\"为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的"\t"、"\r" 进行字符串转义
path1:大小写不影响windows定位到文件
path2:用一个"\"取消第二个"\"的特殊转义作用,即为"\\"
path3:用正斜杠做目录分隔符也可以转到对应目录,并且在python中path3的方式也省去了反斜杠\转义的烦恼
3
正则表达式中的斜杠们
正则表达式匹配反斜杠"\",为什么是"\\\\"或是 r"\\"呢?
因为在正则表达式中\为特殊符号,为了取消它在正则表达式中的特殊意义需要加一个\就变成了\\,但是问题又来了,\也是字符串中的特殊字符,所以又要分别对两个\取消其特殊意义,即为\\\\。Python中有一个原始字符串 *** 作符,用于那些字符串中出现特殊字符,在原始字符串中,没有转义字符和不能打印的字符。这样就可以取消了\在字符串中的转义功能,即r"\\"。
用字符串相加看看行不行,虽然可能稍微烦了点。>>>s=r"c:\windows"+'\\'
>>>s
'c:\\windows\\'
>>>print s
c:\windows\
>>>
刚才又在正则表达式中试了试。
发现可能稍微有些不同,
可以直接在原始字符串末尾使用两个斜杠,
但其实就如使用了一个斜杠一般:
>>>import re
>>>r=re.compile(r'\w+\\')
>>>r.findall(s)
['windows\\']
>>>print _[0]
windows\
>>>
其实一般不用太在意:
>>>r.findall(r"hello\world"+'\\')
['hello\\', 'world\\']
>>>for i in _:
print i
hello\
world\
>>>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)