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定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
python 字典操作提取key,value的方法
Jun 26 Python
django中的图片验证码功能
Sep 18 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
哪些是python中web开发框架
Jun 17 Python
Keras 加载已经训练好的模型进行预测操作
Jun 17 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 Python
python drf各类组件的用法和作用
Jan 12 Python
PyCharm2020.3.2安装超详细教程
Feb 08 Python
使用Python获取字典键对应值的方法
Apr 26 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
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP 和 XML: 使用expat函数(三)
2006/10/09 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php面向对象中static静态属性与方法的内存位置分析
2015/02/08 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
python机器学习实现决策树
2019/11/11 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
策划助理岗位职责
2013/11/18 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
个人业务学习心得体会
2016/01/25 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL