python指定路径斜杠与反斜杠遇到的问题
作者:G果 发布时间:2023-03-18 20:47:27
指定路径斜杠与反斜杠的问题
报错: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,要么使用双反斜杠。
来源:https://blog.csdn.net/weixin_42899627/article/details/108032987


猜你喜欢
- 数据库的约束就是关系型数据库给我们提供的一种"校验数据"合法性的机制1. NULL约束创建表时,可以指定某列不为空cre
- 环境Django 2.0 + Win 10 + Pycharm + 360浏览器报错项目结构(报异常)解决方法看了好多大佬的解决方法,基本上
- 额额,标题已经很醒目了,通过中间件去实现,其他方法也可以实现浏览器前端传来的请求,必须通过中间件,才能到后面路由,视图函数,所以我们在中间件
- Table:用于标示删除的数据表的名称。 1:该表必须是一个事实存在的表,对于该处的表必须是一个实际存在于数据库中的表格,必能是由于sele
- 功能描述:1)使用tkinter设计程序界面;2)调用Windows API函数实现录音机和音乐播放器。参考代码:运行界面:总结以上所述是小
- 今天,我们来分享一个宠物桌面小程序,全程都是通过 PyQT 来制作的,对于 Python GUI 感兴趣的朋友,千万不要错过哦!我们先来看看
- 前言博主参与过大大小小十次数学建模比赛,也获得了不少建模奖项。对于一些小批量样本数据去做预测或者是评估其规律性的话,比较适合的模型一般都是选
- 前言之前写过很多关于扫描脚本的文章,一直都没写自己的扫描IP段是哪里搞来的,也会有朋友经常来问一些扫描经验,说实话我觉得这个工具并没有实际的
- 题目输入一个正整数数组,把数组里面的所有属猪拼接起来成为一个数打印能拼接起来的所有数字中最大/最小的那个。思考直观想法就是求出这个数组中所有
- MySQL创建用户并授权及撤销用户权限运行环境:MySQL5.0一、创建用户命令:CREATE USER 'username'
- Python list列表添加元素方法实际开发中,经常需要对 Python 列表进行更新,包括向列表中添加元素、修改表中元素以及删除元素。&
- 正则表达式概述正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模
- 这几天正在追剧,原名《大秦帝国之天下》的《大秦赋》,看着看着又想把前几部刷一遍了,但第一部《裂变》自己没有高清资源,搜了一波发现yout
- 前言:泛型是静态类型语言的基本特征,允许将类型作为参数传递给另一个类型、函数、或者其他结构。TypeScript 支持泛型作为将类型安全引入
- function lLoopRun(sFuncLoop,sFuncEnd,nDelay) {//writen
- 事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息。收缩日志的原因有很多种,有些是考虑空间不足,有些则是
- 前言CentOS 6.8 安装 Python 2.7.13,因为软件版本上的需求所以考虑将 Python 升级至 2.7.13,加上生产环境
- Mysql InnoDB引擎页目录一、页目录和槽接上一篇,现在知道记录在页中按照主键大小顺序串成了单链表。那么我使用主键查询的时候,最顺其自
- 1. 用Dreamweaver 4.0制作闪动的Flash按钮选择菜单Insert→Interactive Images→Flash But
- 1、手动调参,但这种方法依赖于大量的经验,而且比较费时。许多情况下,工程师依靠试错法手工调整超参数进行优化,有经验的工程师可以在很大程度上判