python中的正斜杠与反斜杠实例验证
Sigmoid_哼哼 人气:0一、历史渊源
- UNIX操作系统:设计了使用 ‘/’ 的路径分割法
- DOS系统:借鉴了UNIX的目录结构,但由于在DOS系统中,斜杠 ‘/’ 已经用来作为命令行参数的标志,因此只能使用反斜杠 ‘\’
- Windows系统:很多时候已经没有命令行参数的干扰,因此正斜杠与反斜杠大多数情况下可以互换
二、实例验证
桌面新建临时Excel文件——test.xlsx,绝对路径为‘C:\Users\liu19\Desktop\test.xlsx’
下面以五种路径方式读入python:
方式一:路径中采用反斜杠,路径前面加r
note:路径前加r,防止程序将 ‘\’ 当做转义字符
方式二: 路径中采用反斜杠,路径前面不加r
方式三: 路径中采用双反斜杠,路径前面不加r
note:与方式一中加r的作用一样
方式四:使用正斜杠,路径前面不加r
方式五:使用反斜杠,路径前面加r,路径中全采用小写
三、总结
- Windows中 ‘\’ 为特殊字符,会对后面的内容进行转义(\r、\t等),在路径前面加上r之后,‘\’ 就变成了普通字符,不会再对后面的字符进行转义
- ‘\\’ 用第一个 ‘\’ 取消第二个 ‘\’ 的转义作用
- 使用正斜杠也是有效路径,且可以省去转义的烦恼
- 路径大小写不敏感
总之,若只用 ‘\’ ,则一定要去除反斜杠的转义功能,要么在整体路径前面加r,要么使用双反斜杠。
扩展:Python 基础篇-正斜杠("/")和反斜杠("\")的用法
今天为大家讲一讲正反斜杠的常见应用:一个就是路径里的应用,还有就是反斜杠在正则表达式里的不同。
路径上的应用
首先告诉大家,用于路径上,python是不区分正("/")反("\")斜杠的。
但是呢,反斜杠本身属于转义符,如果"\"后正好有个n,那就会识别为换行符。
所以一般我们这样:
r"E:\Python\Lib\site_packages" ,r告诉字符串,这个里面的反斜杠不需要转义。
"E:\\Python\\Lib\\site_packages" ,我把每个反斜杠都转义。
"E:/Python/Lib/site_packages" ,全是正斜杠,不需要转义。
正则表达式里的反斜杠
正则表达式为什么不同,因为正则表达式要经过两次转义:先经过字符串转义,再来正则表达式自己的转义。
正则表达式想要匹配反斜杠的话,需要写成这样:
"\\\\",第一次转义为"\\",第二次转义为"\"。
r"\\",告诉python,第一次不转义了,直接进行第二次转义。
加载全部内容