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
猜你喜欢
- 实现原理PS的扩散效果可以产生类似毛玻璃质感的效果,使画面有些毛毛的感觉。其实现可通过操作像素三通道数值的方式实现,定义一个随机数器,将图像
- 结合这个例子分析一下结果:结合以往C语言的基础,画了一张图来解释为什么会有上面这些值的出现。先查看下Go中的这两个运算符是啥吧。①对于所有带
- 在制作表单的时候,我们往往用CSS来重新定义表单元素(如输入框、按钮等)的样式,以便看起来更加美观。而表单中的很多不同元素(如输入框、提交按
- 我们在编写Python爬虫时,有时会遇到网站拒绝访问等反爬手段,比如这么我们想爬取蚂蚁短租数据,它则会提示“当前访问疑似黑客攻击,已被网站管
- 本文实例讲述了Windows下安装Django框架的方法。分享给大家供大家参考,具体如下:在idea上运行Python项目时,出现了如下错误
- 1、find(sub[, start[, end]])在索引start和end之间查找字符串sub找到,则返回最左端的索引值,未找到,则返回
- 如果是在同一个 module中(也就是同一个py文件里),直接用就可以如果在不同的module里,例如a.py里有 class A:b.py
- 不正确地调用Windows应用程序接口可能会产生一些意想不到的副作用,以及潜在地对一个应用程序的代码及数据段的破坏。正确地使用一个空的32位
- 前言昨天因为小程序功能要获取小程序程序码,看了微信文档爬了好多坑。(留一下记录以防后面被坑)操作因为我获取到了微信那里的图片的图片流一直不知
- 本文实例讲述了php计算函数执行时间的方法。分享给大家供大家参考。具体如下:我们可以通过在程序的前后分别记录开始和结束时间,两个时间差就是程
- 本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下代码如下:Project.py文件内容:class
- 文章介绍OpenCV 库中包含很多运算函数,这里着重介绍按位运算的基本原理并举例说明。本篇文章中主要涉及到的函数有:按位与:bitwise_
- 困扰我很久问题终于在昨天被解决了。其实问题很简单<% =now %>老是显示12小时制,总是出现上午、下午。这个问题虽然很小,但
- 在进制学习时候,细心的小伙伴不免都发现unicher函数的存在,没错能够经常看到的,也就是关于进制的转化,那肯定有小伙伴要开心起来了,因为进
- 如何保持数据库中原有格式不变:这些问题在论坛里面几乎天天有人问~!其实当在输入信息,然后提交信息的时候,所有内容的格式是没有变的。只是在当提
- 前言:opencv最主要的的功能是用于图像处理,所以图像的概念贯穿了整个opencv,与其相关的核心类就是Mat。像素:图片尺寸以像素为单位
- getpwname只能得到gid一个username。import pwdmyGroupId = pwd.getpwnam(username
- 函数名:chk_Email()'返回值:布尔值(True为通过,False为未通过)'参数:email(需要判断的email
- 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHO
- 数据共享是数据库最基本的特征之一。但是数据共享虽然为员工带来了便利,但也产生了一些负面作用。例如因用户并发存取而导致的对数据一致性的破坏、由