python中关于\和/的使用说明

1./和\的区分

/叫做斜杠,而\叫做反斜杠。名称的得来是,\在直角坐标系中为负斜率,因为叫做反斜杠。这个方法有助于记住和区分斜杠和反斜杠。

2.关于两者对于路径的表示

2.1 相关的历史

在Linux系统中,路径包括文件的路径和网址的路径,都是使用斜杠来表示的。

我们平时较常使用的Windows系统,表示文件的路径却是使用反斜杠\来表示的。为什么呢?原因就是,在Windows系统中带有的DOS,需要使用斜杠/来作用于命令的附加条件,就是用来加相关的参数的。而DOS中也要使用cd等来进行路径的访问,所以为了使两者区分,就用反斜杠来表示路径。但是其他的比如网址还是使用斜杠进行分割的。

2.2 python中的关于路径的问题

为了兼容Windows和Linux操作系统,就是跨平台,python中支持使用\和/进行路径的表示,甚至是混合使用两种斜杠都是没有问题。

但是有一个问题就是,在python或者其它语言中,反斜杠\具有转义的作用。如果在路径中出现了转义符,python会默认这就是一个转义字符。

path = 'E:\a\b\c\mytestpy'

image-20200819193607306.png

1938502-20200819202039165-1130378644.png

从上面可以看出,python把\a和\b看成了是转义符。那么问题来,这就破坏了原来想要表示的路径的意图了。怎么办?下面给出三个解决办法。

(1)使用反斜杠\来表示路径

1)对于有转义符的,在使用双反斜杠,双反斜杠就会被默认为反斜杠的意义。例如:

path = 'E:\\a\\b\c\mytestpy'

2)为了防止出现不知道哪个是转义符或者对转义符漏了多加反斜杠的情况,建议在路径中都使用反斜杠。例如:

path = 'E:\\a\\b\\c\\mytestpy'

3)在字符串前面加上r,表示字符串就是原来的意思,不进行转义。例如:

path = r'E:\a\b\c\mytestpy'

(2)使用斜杠来表示路径

首先说明,在python中,使用斜杠和双斜杠的效果是一样的。为什么这样,可能是为了兼容反斜杠的这种情况吧。还有增加r也可以,但是没有必要了。

4)使用斜杠来表示。这个方法很稳妥,因为不会和转义符混淆。这也是Linux系统操作者的习惯吧。例如:

path = 'E:/a/b/c/mytest.py'

(3)总结

由(1)和(2)得到的总结是:

使用单反斜杠表示路径时,要特别的小心。可能因为没有转义符而不会出错,但是有转义符就会出错。所以,如果是从Windows中复制过来的路径,最好还是要在前面加上一个r以防万一。

如果使用斜杠就不会有任何问题。

或者使用双反斜杠,但是这样会很麻烦,需要手动把反斜杠补上去。

3.python中的斜杠和反斜杠的其它作用

1938502-20200819202012998-1095955594.png

标签:python,路径,转义,说明,关于,斜杠,使用,path

来源: https://www.cnblogs.com/GuangJI/p/13531696.html

Logo

更多推荐