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 04 Python
python利用matplotlib库绘制饼图的方法示例
Dec 18 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
Python使用遗传算法解决最大流问题
Jan 29 Python
python psutil库安装教程
Mar 19 Python
Python 数据处理库 pandas 入门教程基本操作
Apr 19 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 Python
浅析python 中大括号中括号小括号的区分
Jul 29 Python
Tensorflow分批量读取数据教程
Feb 07 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 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
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
简单实现php上传文件功能
2017/09/21 PHP
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
jQuery点击弹出下拉菜单的小例子
2013/08/01 Javascript
js获取视频时长代码
2014/04/10 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
django之session与分页(实例讲解)
2017/11/13 Python
python实现趣味图片字符化
2019/04/30 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
Python中如何添加自定义模块
2020/06/09 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
2014年社区矫正工作总结
2014/11/18 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
电影雨中的树观后感
2015/06/15 职场文书