Python 用OPEN读文件报错 ,路径以及r
来源:互联网 发布:杰视帮美工教程 编辑:程序博客网 时间:2024/05/24 20:06
Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案
背景描述
今天在运用Python pillow模块处理图片时遇到一个错误
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
- 1
- 1
刚开始以为是图片名字有中文,不识别,于是在python文件的头部加上
#-*- coding:utf-8 -*-
- 1
- 1
但是加完这个还是报错,然后我就把图片的中文去掉还成英文,然后报错,一脸懵逼呀。后来在stackoverflow 上找到了类似的错误,原来是图片路径写的 有问题,错误代码如下
im = Image.open('C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg')
- 1
- 1
正确结果
im = Image.open('C:\\Users\\FrankYuan\\Pictures\\Camera Roll\\WIN_20161010_08_51_57_Pro.jpg')
- 1
- 1
或者
im = Image.open(r'C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg')
- 1
- 1
抑或
im = Image.open(r'C:/Users/FrankYuan/Pictures/Camera Roll/WIN_20161010_08_51_57_Pro.jpg')
- 1
- 1
原因:
window 读取文件可以用\,但是在字符串中\是被当作转义字符来使用,所以’d:\a.txt’会被转义成’d:\a.txt’这是正确路径,所以不会报错。而‘C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg ’中经过转义之后可能就找不到路径的资源了,例如\t可能就转义成tab键了。
解决办法
python在描述路径时可以有多种方式,现列举常见的三种
方式一:转义的方式'd:\\a.txt'方式二:显式声明字符串不用转义'd:r\a.txt'方式三:使用Linux的路径/'d:/a.txt'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
我强烈推荐第三种写法,这在Linux和window下都是行的通的。
阅读全文
0 0
- Python 用OPEN读文件报错 ,路径以及r
- Python 用OPEN读文件报错 ,路径以及r
- python文件路径报错
- Python学习笔记:open()函数打开文件路径报错问题
- R.Java文件报错
- python文件open()函数参数:r和rb比较
- android r cannot be resolved to a variable 错误以及 所有的文件没有报错但是项目报错
- python中用open打开文件,报错 IOError:[Error 22] invalid mode ('rb') or filename
- Android项目R文件丢失报错
- R文件没有生成或报错
- Android studio R文件报错
- Android R文件报错问题
- android studio R文件报错解决办法
- android开发之R文件报错
- Android studio R文件报错解决
- android studio R文件报错
- android studio R文件报错
- gen下的R文件报错
- 说说获取服务器的域名java
- CentOS6.8安装Redis3.2.5
- 正则表达式
- 人生定势:作息,学习习惯,能力技能
- 白话经典算法系列之二 直接插入排序的三种实现
- Python 用OPEN读文件报错 ,路径以及r
- 灰度变换--imadjust和stretchlim
- 世豪先生:精致是一种生活态度的体现
- Linux的多线程--初识
- 简单的文本处理命令
- Scrapy爬虫实战一:获取中影国际影城信息
- VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(五)
- 通过源码分析MyBatis的缓存/Mybatis解析动态sql原理分析
- jQuery基本知识