Python 解决OPEN读文件报错 ,路径以及r的问题


Posted in Python onDecember 19, 2019

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

刚开始以为是图片名字有中文,不识别,于是在python文件的头部加上

#-*- coding:utf-8 -*-

但是加完这个还是报错,然后我就把图片的中文去掉还成英文,然后报错,一脸懵逼呀。后来在stackoverflow 上找到了类似的错误,原来是图片路径写的 有问题,错误代码如下

im = Image.open('C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg')

正确结果

im = Image.open('C:\\Users\\FrankYuan\\Pictures\\Camera Roll\\WIN_20161010_08_51_57_Pro.jpg')

或者

im = Image.open(r'C:\Users\FrankYuan\Pictures\Camera Roll\WIN_20161010_08_51_57_Pro.jpg')

抑或

im = Image.open(r'C:/Users/FrankYuan/Pictures/Camera Roll/WIN_20161010_08_51_57_Pro.jpg')

原因:

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'

我强烈推荐第三种写法,这在Linux和window下都是行的通的。

以上这篇Python 解决OPEN读文件报错 ,路径以及r的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中类型关系和继承关系实例详解
May 25 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
对numpy数据写入文件的方法讲解
Jul 09 Python
python爬取微信公众号文章的方法
Feb 26 Python
Python数据类型之List列表实例详解
May 08 Python
详解pandas中MultiIndex和对象实际索引不一致问题
Jul 23 Python
Python高级特性 切片 迭代解析
Aug 23 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
Python定时器线程池原理详解
Feb 26 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
详解Scrapy Redis入门实战
Nov 18 Python
一文搞懂Python Sklearn库使用
Aug 23 Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 #Python
Python监控服务器实用工具psutil使用解析
Dec 19 #Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 #Python
python 普通克里金(Kriging)法的实现
Dec 19 #Python
Python函数参数类型及排序原理总结
Dec 19 #Python
python中with语句结合上下文管理器操作详解
Dec 19 #Python
Django中密码的加密、验密、解密操作
Dec 19 #Python
You might like
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
详细介绍Ruby中的正则表达式
2015/04/10 Python
CentOS中升级Python版本的方法详解
2017/07/10 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Django如何自定义分页
2018/09/25 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
python获取栅格点和面值的实现
2020/03/10 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
求职个人评价范文
2014/04/09 职场文书
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
JavaScript文档对象模型DOM
2021/11/20 Javascript