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 15 Python
Python入门之modf()方法的使用
May 15 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
利用python画一颗心的方法示例
Jan 31 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
Django rest framework工具包简单用法示例
Jul 20 Python
Flask之flask-session的具体使用
Jul 26 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
PyCharm第一次安装及使用教程
Jan 08 Python
python字符串替换re.sub()实例解析
Feb 09 Python
PageFactory设计模式基于python实现
Apr 14 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
Jul 13 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
深入PHP5中的魔术方法详解
2013/06/17 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
jQuery 连续列表实现代码
2009/12/21 Javascript
javascript options属性集合操作代码
2009/12/28 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
Python实现登陆文件验证方法
2018/10/06 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
.NET初级开发工程师面试题
2014/04/18 面试题
财务部经理岗位职责
2014/02/03 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
财务人员岗位职责
2015/02/03 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang