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 相关文章推荐
web.py在模板中输出美元符号的方法
Aug 26 Python
Python中的Matplotlib模块入门教程
Apr 15 Python
python动态性强类型用法实例
May 09 Python
实例讲解Python编程中@property装饰器的用法
Jun 20 Python
Python 正则表达式的高级用法
Dec 04 Python
Python中matplotlib中文乱码解决办法
May 12 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 Python
Django框架视图介绍与使用详解
Jul 18 Python
如何使用Python破解ZIP或RAR压缩文件密码
Jan 09 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 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/05/10 PHP
PHP反射机制用法实例
2014/08/28 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
vue实现登录功能
2020/12/31 Vue.js
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
Python中取整的几种方法小结
2017/01/06 Python
Python编写一个闹钟功能
2017/07/11 Python
python中 logging的使用详解
2017/10/25 Python
python 将md5转为16字节的方法
2018/05/29 Python
Python中一般处理中文的几种方法
2019/03/06 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
新闻编辑自荐信
2013/11/03 职场文书
文秘专业毕业生就业推荐信
2013/11/08 职场文书
岗位明星事迹材料
2014/05/18 职场文书
团队口号大全
2014/06/06 职场文书
英语系毕业生求职信
2014/07/13 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
中标通知书范本
2015/04/17 职场文书
党内外群众意见范文
2015/06/02 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
使用HttpSessionListener监听器实战
2022/03/17 Java/Android
MySQL的存储过程和相关函数
2022/04/26 MySQL