点击小眼睛开启蜘蛛网特效

斜杠(/)、反斜杠(\)、双反斜杠(\\)区别简要辨析

《斜杠(/)、反斜杠(\)、双反斜杠(\)区别简要辨析》
注意,/ 为正斜杠(forward slash),而 \ 为反斜杠(backward slash)。
我们在处理地址的时候,不同的系统处理地址使用的斜杠也是不同的,
  • windows系统中(window10),\ 用来表示目录。
  • 而在unix系统中(ubuntu,centos等),使用 / 来表示目录。
  • 而在浏览器汇总,由于web遵循unix命名,所以在网址(URL)中,/ 表示目录。

我们在学习C语言的过程中应该都知道,我们在字符串中使用反斜杠来表示一些其他的符号,比如 \b 表示退格键, \n 为经典的换行键。

在python中对于斜杠的处理和C语言是一样的:

print('I can\'t !')
I can't !

使用 反斜杠 \ 来代表转义符。

但是在python中处理地址有几个需要注意的地方,在linux系统下获取一个文件的地址是正斜杠来表示的:‘ /home/prototype/Desktop/deep-painterly-pytorch/datasets/test.jpg ‘,而在windows中获取地址就是这样的:’ C:\Users\dell\Desktop\pytorch-fcn-master\examples\voc\data\datasets\VOC\benchmark_RELEASE\dataset\img\2008_000007.jpg ‘,我们之前说过,在python中,处理反斜杠的方式和C语言是一样的,如果你想通过这个地址来读取一个图片:

(使用python-opencv作为读取图片的例子,cv2为python版本的opencv库,而imread是opencv的图像读取函数)

import cv2
image = cv2.imread('C:\Users\dell\Desktop\pytorch-fcn-master\examples\voc\data\datasets\VOC\benchmark_RELEASE\dataset\img\2008_000007.jpg')

很容易就报错了:

  File "<ipython-input-6-04e24e16183a>", line 1
    image = cv2.imread('C:\Users\dell\Desktop\pytorch-fcn-master\examples\voc\data\datasets\VOC\benchmark_RELEASE\dataset\img\2008_000007.jpg')
                      ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

报错的信息很明显:truncated \UXXXXXXXX escape, python解释器在这部分没有识别出来,就是嘛,你让这个解释器识别 \Users ,这个没有什么意义。

《斜杠(/)、反斜杠(\)、双反斜杠(\)区别简要辨析》

上图是pycharm中console窗口的这行代码,可以看到解释器对其实时进行了分析,看到红色波浪线和绿色代码以及黄色代码了吗,黄色代码代表解释器对这个反斜杠以及后面的数字的’组合分析’,而红色波浪线则提示错误的地方。

当然如果写成这样是正确的:image = cv2.imread(‘C:/Users/dell/Desktop/pytorch-fcn-master/examples/voc/data/datasets/VOC/benchmark_RELEASE/dataset/img/2008_000007.jpg’)

那如果我们写成这样呢:

image = cv2.imread('C:\\Users\\dell\\Desktop\\pytorch-fcn-master\\examples\\voc\\data\\datasets\\VOC\\benchmark_RELEASE\\dataset\\img\\2008_000007.jpg')

答案也是正确的,其实在python中使用正斜杠和反斜杠都是可以当做地址目录符来进行读取的,只不过如果不\\这样写,在python中就会和C语言中一样引起争议。

 

 

  点赞
本篇文章采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可
转载请务必注明来源: https://oldpan.me/archives/forward-slash-backward-slash-distinguish

   关注Oldpan博客微信公众号,你最需要的及时推送给你。


  1. c
    cherry说道:

    你好,python初学者,使用的是Mac版,但是不知到文件夹的所在路径怎么写?求指导

    1. O
      Oldpan说道:

      mac和Linux是一样的