python指定路径斜杠与反斜杠遇到的问题

 更新时间:2023年03月03日 09:23:23   作者:G果  
这篇文章主要介绍了python指定路径斜杠与反斜杠遇到的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

指定路径斜杠与反斜杠的问题

报错:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UX

解决方法

这是python中指定路径的问题,因为Windows下的路径都是反斜杆(如上图所示),在很多编程语言中会不认识"\"字符,可能会把它识别成转义字符(python就是把它当成了转义字符),如果按照Windows下的路径输入,代码运行就会出现上述的错误

这个错误有两种解决方法:

1. 在路径前面加一个r字母:让路径变成原始字符串,意思就是不让\n\t等有特殊含义的影响指定的路径

imge=cv2.imread(r"C:\Users\Chengguo\Desktop\py_study\Alexnet\cifar_pictures\NO.0class6.jpg")

2. 在所有的反斜杠前面在加一条斜杠:意思是进行斜杠转义,目的也是排除\t\n等的影响

imge=cv2.imread("C:\\Users\\Chengguo\\Desktop\\py_study\\Alexnet\\cifar_pictures\\NO.0class6.jpg")

这里注意一下,指定路径的话最好还是直接用正斜杠(不论是相对路径还是绝对路径),避免出现上述的错误

imge=cv2.imread("C:/Users/Chengguo/Desktop/py_study/Alexnet/cifar_pictures/NO.0class6.jpg")

字符串转义序列(Escape Sequences)

对于字符串转义序列,你需要再字符串中应用它们,确认自己清楚地知道它们的功能

正斜杠与反斜杠

历史渊源

  • 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的lambda语句声明匿名函数的用法

    举例讲解Python的lambda语句声明匿名函数的用法

    匿名函数现在已经成了各大编程语言争相标配的热门特性,无需用函数名来定义函数的方式在很多场合下书写起来十分炫酷,这里我们就来举例讲解Python的lambda语句声明匿名函数的用法
    2016-07-07
  • Python实现自动签到脚本功能

    Python实现自动签到脚本功能

    这篇文章主要介绍了Python实现自动签到脚本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Pandas提取单元格的值操作

    Pandas提取单元格的值操作

    这篇文章主要介绍了Pandas提取单元格的值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • python利用lxml库剩下操作svg图片

    python利用lxml库剩下操作svg图片

    在大多数场景中,我们都用 lxml 库解析网页源码,但你是否知道,lxml 库也是可以操作 svg 图片的。本文就来和大家聊聊具体操作方法,希望对大家有所帮助
    2023-01-01
  • Python Json数据文件操作原理解析

    Python Json数据文件操作原理解析

    这篇文章主要介绍了Python Json数据文件操作原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python 字典常用方法超详细梳理总结

    python 字典常用方法超详细梳理总结

    这篇文章主要介绍了Python数据类型字典dictionary,字典是另一种可变容器模型,且可存储任意类型对象。本篇文字将详细讲述字典的常用方法,需要的可以参考一下
    2022-03-03
  • python实现udp聊天窗口

    python实现udp聊天窗口

    这篇文章主要为大家详细介绍了python实现udp聊天窗口,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • django配置app中的静态文件步骤

    django配置app中的静态文件步骤

    这篇文章主要介绍了django配置app中的静态文件步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Django rstful登陆认证并检查session是否过期代码实例

    Django rstful登陆认证并检查session是否过期代码实例

    这篇文章主要介绍了Django rstful登陆认证并检查session是否过期代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 详解Python如何实现压缩与解压缩数据

    详解Python如何实现压缩与解压缩数据

    当数据量大的时候,自然而然想到的就是对数据进行压缩,这篇文章主要为大家介绍了Python可以实现压缩与解压缩数据的相关模块的使用,希望对大家有所帮助
    2024-02-02

最新评论