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中二维阵列的变换实例
Oct 09 Python
Django1.7+python 2.78+pycharm配置mysql数据库教程
Nov 18 Python
python实现的jpg格式图片修复代码
Apr 21 Python
分析python切片原理和方法
Dec 19 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
Python基础学习之函数方法实例详解
Jun 18 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 Python
python中for in的用法详解
Apr 17 Python
Python jieba结巴分词原理及用法解析
Nov 05 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
python如何读取.mtx文件
Apr 22 Python
Django使用channels + websocket打造在线聊天室
May 20 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 object转数组示例
2014/01/15 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
jQuery select的操作实现代码
2009/05/06 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
Python continue语句用法实例
2014/03/11 Python
全面解析Python的While循环语句的使用方法
2015/10/13 Python
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
python两个list[]相加的实现方法
2020/09/23 Python
Django中使用Celery的方法步骤
2020/12/07 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
环境科学专业个人求职的自我评价
2013/11/28 职场文书
中职生自荐信范文
2014/06/15 职场文书
董事长岗位职责
2015/02/13 职场文书