Python 用OPEN读文件报错 ,路径以及r
时间:2022-05-04
本文章向大家介绍Python 用OPEN读文件报错 ,路径以及r,主要内容包括Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案、原因:、解决办法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
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:UsersFrankYuanPicturesCamera RollWIN_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:UsersFrankYuanPicturesCamera RollWIN_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:UsersFrankYuanPicturesCamera RollWIN_20161010_08_51_57_Pro.jpg ’中经过转义之后可能就找不到路径的资源了,例如t可能就转义成tab键了。
解决办法
python在描述路径时可以有多种方式,现列举常见的三种
方式一:转义的方式
'd:\a.txt'
方式二:显式声明字符串不用转义
'd:ra.txt'
方式三:使用Linux的路径/
'd:/a.txt'
我强烈推荐第三种写法,这在Linux和window下都是行的通的。
- 专知内容生产基石-数据爬取采集利器WebCollector 介绍
- python实现字符串模糊匹配
- 动态规划之01背包详解【解题报告】
- hihoCoder #1078 : 线段树的区间修改(线段树区间更新板子题)
- HDU 2546 饭卡(01背包裸题)
- 漫谈文件系统
- AI知识搜索利器:基于ElasticSearch构建专知实时高性能搜索系统
- 【深度干货】专知主题链路知识推荐#5-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程01
- hihoCoder #1043 : 完全背包(板子题)
- 【深度干货】专知主题链路知识推荐#7-机器学习中似懂非懂的马尔科夫链蒙特卡洛采样(MCMC)入门教程02
- hihoCoder #1038 : 01背包(板子题)
- 最小二乘法多项式曲线拟合原理与实现
- HDU 1166 敌兵布阵(线段树单点更新,板子题)
- 一文看懂ovirt的supervdsmd服务
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Qt5.5.1版本中QString().arg()和qss在处理路径及文件名需要注意的地方
- Typecho将Gravatar头像改为QQ头像
- python socket 简单示例
- 深入了解C++虚函数
- Mathematica 在高考数学与高等数学等学习中的简单应用与思考
- 数据结构之【实现数组】
- 数据结构【单链表基本操作】
- Django Models 随机获取指定数量数据方法
- 数据结构【静态栈】代码实现
- Qt官方示例解析-Address Book-基于单个数据模型在不同视图呈现不同数据
- React 中请求远程数据的四种方法
- 数据结构【动态队列】代码实现
- C++抽象工厂
- 数据结构【动态栈】代码实现
- UOS安装chrome谷歌浏览器依赖Fonts-Liberation的问题