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"\\"。

 



posted @ 2019-09-16 17:29  因心  阅读(25354)  评论(0编辑  收藏  举报