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 字符串操作方法大全
Mar 11 Python
用pywin32实现windows模拟鼠标及键盘动作
Apr 22 Python
Python的Django框架中的URL配置与松耦合
Jul 15 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
python 平衡二叉树实现代码示例
Jul 07 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python CVXOPT模块安装及使用解析
Aug 01 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
python Matplotlib模块的使用
Sep 16 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
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
通用JS事件写法实现代码
2009/01/07 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
javascript闭包入门示例
2014/04/30 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
使用Python中的cookielib模拟登录网站
2015/04/09 Python
Python可变参数函数用法实例
2015/07/07 Python
python获取url的返回信息方法
2018/12/17 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
用canvas显示验证码的实现
2020/04/10 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
英语师范专业毕业生自荐信
2013/09/21 职场文书
工程承包协议书
2014/10/20 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
MySQL空间数据存储及函数
2021/09/25 MySQL