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 相关文章推荐
浅析Python3爬虫登录模拟
Feb 07 Python
Django框架的中的setting.py文件说明详解
Oct 15 Python
python远程邮件控制电脑升级版
May 23 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
Python变量访问权限控制详解
Jun 29 Python
python如何查看安装了的模块
Jun 23 Python
OpenCV图片漫画效果的实现示例
Aug 18 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 Python
Python基于Webhook实现github自动化部署
Nov 28 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
python音频处理的示例详解
Dec 23 Python
解决pycharm不能自动保存在远程linux中的问题
Feb 06 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脚本的10个技巧(5)
2006/10/09 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
python pdb调试方法分享
2014/01/21 Python
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
浅析python参数的知识点
2018/12/10 Python
安装docker-compose的两种最简方法
2019/07/30 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
销售实习自我鉴定
2013/12/07 职场文书
实用求职信范文分享
2013/12/25 职场文书
小学生演讲稿
2014/01/12 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
初中作文评语集锦
2014/12/25 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
专职安全员岗位职责
2015/04/11 职场文书
在人间读书笔记
2015/06/30 职场文书
PHP中->和=>的意思
2021/03/31 PHP
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
MySQL中CURRENT_TIMESTAMP的使用方式
2021/11/27 MySQL
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL