python中的正斜杠与反斜杠
首先,“/”左倾斜是正斜杠,“\”右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对应目录分隔符,Unix和Web用正斜杠/,windows的目录路径用反斜杠;如下图所示:
url:
windows目录路径:
(一)目录中的斜杠
python读文件需要输入的目录参数,列出以下列子:
path1 = r'c:\BaiduYunDownload\temp\readme.txt'
path2 = r'C:\BaiduYunDownload\temp\readme.txt'
path3 = R'c:\BaiduYunDownload\temp\readme.txt'
path4 = 'c:\\BaiduYunDownload\\temp\\readme.txt'
path5 = 'c:/BaiduYunDownload/temp/readme.txt'
打开文件函数open()中的参数可以是path1,也可以是path2、path3、path4、path5
path1、path2、path3的“\”为字符串中的特殊字符,加上R或r后变为原始字符串,则不会对字符串中的“\t”、“\r”进行字符串转义,path2中windows盘符大小写无关系,运行结果如下图所示:
运行结果:
pyth4:用一个“\”取消第二个“\”的特殊转义作用,即为“\\”
运行结果:
path5:用正斜杠做目录分隔符也可以转到对应目录,并且在python中path5的方式也省去了反斜杠\转义的烦恼
运行结果:
(二)正则表达式中的斜杠
正则表达式匹配反斜杠“\”,为什么是“\\\\”或是r“\\”呢?
因为在正则表达式中【\】为特殊符号,为了取消它在正则表达式中的特殊意义,需要加一个【\】就变成了\\,但是问题又来了,【\】也是字符串中的特殊字符,所以又要分别对两个【\】取消其特殊意义,即为【\\\\】。python中有一个原始字符串操作符,用于哪些字符串中出现特殊字符,在原始字符串中,没有转义字符和不能打印的字符。这样就可以取消了【\】在字符串中的转义功能,即r"\\"。