python open函数encoding_python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数...
文件的读写操作默认使用系统编码,可以通过调用sys.getdefaultencoding() 来得到。在大多数机器上面都是utf-8 编码。如果你已经知道你要读写的文本是其他编码方式,那么可以通过传递一个可选的encoding 参数给open() 函数。如下所示:
with open('somefile.txt', 'rt', encoding='latin-1') as f:
...
Python 支持非常多的文本编码。几个常见的编码是ascii, latin-1, utf-8 和utf-16。在web 应用程序中通常都使用的是UTF-8。ascii 对应从U+0000 到U+007F 范围内的7 位字符。latin-1 是字节0-255 到U+0000 至U+00FF 范围内Unicode 字符的直接映射。当读取一个未知编码的文本时使用latin-1 编码永远不会产生解码错误。使用latin-1 编码读取一个文件的时候也许不能产生完全正确的文本解码数据,但是它也能从中提取出足够多的有用数据。同时,如果你之后将数据回写回去,原先的数据还是会保留的。
是文本文件中可能出现的编码错误。但你读取或者写入一个文本文件时,你可能会遇到一个编码或者解码错误
>>> f = open('sample.txt', 'rt', encoding='ascii')
>>> f.read()
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.3/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
12: ordinal
如果出现这个错误,通常表示你读取文本时指定的编码不正确。你最好仔细阅读说明并确认你的文件编码是正确的(比如使用UTF-8 而不是Latin-1 编码或其他)。如果编码错误还是存在的话,你可以给open() 函数传递一个可选的errors 参数来处理这些错误。下面是一些处理常见错误的方法:
>>> f = open('sample.txt', 'rt', encoding='ascii', errors='replace')
>>> f.read()
'Spicy Jalape?o!'
>>> # Ignore bad chars entirely
>>> g = open('sample.txt', 'rt', encoding='ascii', errors='ignore')
>>> g.read()
'Spicy Jalapeo!'
>>>
如果你经常使用errors 参数来处理编码错误,可能会让你的生活变得很糟糕。对于文本处理的首要原则是确保你总是使用的是正确编码。当模棱两可的时候,就使用默认的设置(通常都是UTF-8)。
Python遇到字符编码出问题的一个相对万能的办法
在使用Python做爬虫的过程中,经常遇到字符编码出问题的情况. UnicodeEncodeError: 'ascii' codec can't encode character u'\u6211' ...
关于ng路由的传参问题(传递一个,多个参数)
在ng的页面条转传参数的方法,ui-sref,$state Ui-sref:用于html页面进行单页面的跳转 $state:用于js代码中跳转 重点:明确传递方,接受方 [传递单个参数] 对于传递方: ...
Python之路-python(set集合、文本操作、字符编码 )
一.集合操作(set) ...
python高级(四)—— 文本和字节序列(编码问题)
本文主要内容 字符 字节 结构体和内存视图 字符和字节之间的转换——编解码器 BOM鬼符 标准化Unicode字符串 Unicode文本排序 python高级——目录 文中代码均放在github上: ...
《Python CookBook2》 第一章 文本 - 每次处理一个字符 &;&; 字符和字符值之间的转换
文本 - 总结: 什么是文本Python 中的string 类型是不可变类型.文本,一个字符的矩阵,每一个单独的文本快可以被缩进和组织起来. 基本的文本操作①解析数据并将数据放入程序内部的结构中:②将 ...
python小练习1:设计这样一个函数,在桌面的文件夹上创建10个文本,以数字给它们命名。
python小练习1:设计这样一个函数,在桌面的文件夹上创建10个文本,以数字给它们命名. 使用for循环即可实现: for name in range(1,11): desktop_path='C: ...
python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换
python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: stream in json form ----json.loads(str)----- ...
python中的编码与解码
编码与解码 首先,明确一点,计算机中存储的信息都是二进制的 编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显 ...
Python之字符编码与文件操作
目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...
随机推荐
spring MVC的困惑--url-pattern的/和/*有区别
总是现象就是:spring用到forward("/WEB-INF/jsp/*.jsp")而forward当然是又要经过web.xml的映射的,然后,在URL匹配时,
[CF733D]Kostya the Sculptor(贪心)
题目链接:http://codeforces.com/contest/733/problem/D 题意:给n个长方体,允许最多两个拼在一起,拼接的面必须长宽相等.问想获得最大的内切圆的长方体序号是多少 ...
Codeforces 553D Nudist Beach(图论,贪心)
Solution: 假设已经选了所有的点. 如果从中删掉一个点,那么其它所有点的分值只可能减少或者不变. 如果要使若干步删除后最小的分值变大,那么删掉的点集中肯定要包含当前分值最小的点. 所以每次删掉 ...
spring.net中间IoC、DI和MVC
轮廓 spring.net它是开源的业务层框架,功能很强大,它归结到什么都有3能:面向切面编程:IoC和DI:提供综合型的框架支持,本片博客主要说一下IoC和DI.和其提供的对MVC框架的支持. Io ...
Spring Boot-------热部署
热部署 热部署重要的是:添加一个jar包 第一步:在我们项目中的pom.xml文件中添加spring-boot-devtools这个jar包,Maven会帮我们自动下载的
eclipse安装阿里编码规约插件
点击帮助,Install New Software... 地址为https://p3c.alibaba.com/plugin/eclipse/update 然后选择安装, 一路next即可
[design-patterns]设计模式之一策略模式
设计模式 从今天开始开启设计模式专栏,我会系统的分析和总结每一个设计模式以及应用场景.那么首先,什么是设计模式呢,作为一个软件开发人员,程序人人都会写,但是写出一款逻辑清晰,扩展性强,可维护的程序就不 ...
indexOf includes 区别
indexOf 返回数值类型 ( 索引.-1 ) includes 返回布尔类型 ( true .false ),且能区分出 NaN undefined ( 如新建空数组 ...
Python Selenium 文件下载
Python Selenium 进UI自动化测试时都会遇到文件上传和下载的操作,下面介绍一下文件下载的操作 这里介绍使用FireFox浏览器进行文件下载的操作. 1.设置文件默认下载地址 如下图,fi ...
菜鸟学数据库(五)——MySQL必备命令
今天跟大家分享一下MySQL从连接到具体操作的一系列常用命令.可能有的人觉得现在有很多可视化的工具,没必要再学习那些具体的命令了,但是我不这么认为,不可否认那些工具的确让我们的工作更加方便快捷,但是如 ...
python open函数encoding_python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数...相关推荐
- python add argument list_python argh/argparse:我如何传递一个列表作为命令行参数?
我试图传递一个参数列表到python脚本使用argh库.可以接受这样的输入的东西: ./my_script.py my-func --argA blah --argB 1 2 3 4 ./my_scr ...
- 面试让写一个“bind”函数,详解五层bind函数进阶写法,带你写出一个让面试官满意的 “bind” 函数
文章目录 手写bind函数 第一层 - 绑定在原型上的方法 第二层 - 改变this的指向 第三层 - 支持柯里化 第四层 - 考虑 new 的调用 第五层 - 保留函数原型 总结最终版bind函数 ...
- python定义类时括号_为什么在定义类时括号是可选的,而在定义函数时括号是必需的?...
我认为你的问题的答案只是语法.这正是Python的设置方式,但我对它的设置方式的看法是: 我认为函数来自数学,比如:f(x) = x 所以当计算机编程语言被创造出来的时候,从模拟数学到编程语言似乎有某 ...
- python @修饰符_Python修饰符,返回替换了一个或多个参数的函数
您必须返回部分作为装饰结果:def decor(func): return partial(func, v=100) 然而,这个总是设置v=100,即使您按位置为v传递了另一个值.你还是会有同样的问题 ...
- function函数嵌套 matlab_matlab – 当没有使用“end”时,一个.m文件中的多个函数是嵌套的还是本地的...
在MATLAB中,您可以在一个.m文件中拥有多个函数.当然有主要功能,然后是 nested or local functions. 每种功能类型的示例: % myfunc.m with local f ...
- c语言关于计算的函数,问个c语言题目,关于一个计算器的有参有返回函数!!!...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 printf("toM="); scanf("%d",&toM); if(toM==0) printf(& ...
- 不是python对文件的读操作方法的是-python的文件操作方法
python中的文件对象: 文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文 件". 一旦设置了合适的"钩子", 你就可以访 ...
- 网页编码与数据传递中的中文字符编码
最近工作中遇到中文编码,中文参数传递,AJAX返回值包含中文乱码的问题,为此奋斗了一宿,有点心得,有点体会,总结如下,希望对迷惑于此中者有解惑之功效! 在网上一阵狠搜,编码函数的确是有,包括Javas ...
- 函数返回引用什么意思_【20200917】编程入门第七课,函数(function)
介绍 介绍 福哥今天要给大家讲讲编程里的重头戏--函数(function),有了函数,程序才是程序,为什么这么说呢?因为如果没有函数语法,所有重复工作(包括类似工作)都要重复编写代码,那样就失去了编程 ...
最新文章
- 计算机组成 试题,计算机组成典型试题及答案
- 号外号外 你和python大牛的差距有多少?
- tf.train.examle函数
- 一种创建进程间COM来启动IE的方式
- 关于 Qt 5,你所需要了解的基础知识
- 1/2 pymysql:Python连接MySQL数据库
- baidu的服务器数据里面装的都是垃圾!
- NoSQL 数据库不应该放弃 Consistency
- AI大时代下,零基础进入人工智能领域该如何学习?
- 最近的问题汇总(至2010/10/6 12:00)
- 201671010444 夏向明 词频统计软件项目报告
- 斗地主实现洗牌发牌功能
- Android View框架总结(五)View布局流程之Layout
- paip.重装系统后firefox火狐收藏夹的恢复
- 《简明python教程》_简明Python教程
- 数字图像处理第三版4.8.4例子GLPF高斯低通滤波器matlab程序
- opnet物联网仿真-编程集锦
- 机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)...
- 控制台报错:Warning: Encountered two children with the same key, `xx`. Keys should be unique
- 普通耳机的多源感知功能(智能耳机)
热门文章
- 在Visual C++中常用到得一些绘图或者控件的语句(mfc)
- RK3288 android7.1.2 i2c 出现timeout 超时错误分析
- 同济大学计算机夏令营2021,同济大学2021年优秀学生暑期学校活动通知
- 8,16,32位单片机的区别
- c语言在线考试系统的需求分析,基于C/S架构的通用计算机在线考试系统
- 刷openwrt使用usb键盘时卡在NET: Registered protocol family 24
- zoom的成功带来的启示---zoom的夹缝有哪些
- linux之cal命令详解,Linux cal命令的使用
- android radiobutton切换,radiobutton 点击无法切换
- 团体程序设计天梯赛 L2-002 链表去重