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 编码读取一个文件的时候也许不能产生完全正确的文本解码数据,但是它也能从中提取出足够多的有用数据。同时,如果你之后将数据回写回去,原先的数据还是会保留的。

原文地址:https://www.cnblogs.com/baxianhua/p/10189664.html

时间: 2024-10-30 10:09:34

python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数的相关文章

关于ng路由的传参问题(传递一个,多个参数)

在ng的页面条转传参数的方法,ui-sref,$state Ui-sref:用于html页面进行单页面的跳转 $state:用于js代码中跳转 重点:明确传递方,接受方 [传递单个参数] 对于传递方: 传递方:ui-sref="home.ideas.edit({id:detailIdeas[0].idea.id}) 或者:$state.go(home.ideas.edit,{id: detailIdeas[0].idea.id }); 对于接受方: .state('home.ideas.edit

一个可以不传参数就可以在函数中改变调用者内部的变量数据的函数

先贴出代码 void fun() { int *p= (int*)*(&p+1); p-=1; *p=100; } int main() { int a=10; fun(); cout<<a<<endl; return 0; } 输出结果是100: 下面为了说明里面的栈帧原来我使用另一个和他相同的代码进行分析,代码与分析如下: void fun(int x) { int *p= (int*)*(&p+1); p-=1; *p=100; } int main() {

编写一个可变参数的C函数——头文件stdarg.h中宏va_start ,va_arg和va_end的应用

我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的,例如我们可以有以下不同的调用方法:printf("%d",i);printf("%s",s);printf("the number is %d ,string is:%s", i, s);究竟如何写可变参数的

《Python CookBook2》 第一章 文本 - 每次处理一个字符 &amp;&amp; 字符和字符值之间的转换

文本 - 总结: 什么是文本Python 中的string 类型是不可变类型.文本,一个字符的矩阵,每一个单独的文本快可以被缩进和组织起来. 基本的文本操作①解析数据并将数据放入程序内部的结构中:②将数据以某种方式转化为另一种相似的形式,数据本身发生了改变:③生成全新的数据 每次处理一个字符: 任务用每次处理一个字符的方式处理字符串. 解决方案可以创建一个列表,列表的子项是字符串的字符.代码如下: >>> thelist = list('thestring') >>>

字符编码及文本一

字符编码与文件处理 一.前置知识点: ? 1.程序执行的三大核心硬件(***): ? cpu ? 内存 ? 硬盘 ? 正常执行一个程序的要点: ? 1.将硬盘中的数据读到内存 ? 2.由cpu读内存中的数据进行执行 ? 3.在执行程序的时候,生成的数据,优先存入内存 2.python解释器执行一个py文件过程(***) 如果没有python解释器,py文件单纯就是一个文本文件 所以说,想执行py文件,必须先执行python解释器 1.将python解释器的代码有硬盘读到内存 2.将py文件以普通

python对象和json格式文本之间的转换

python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: str in json form ----json.loads()-----> python object str in json form <----json.dumps()----- python object 不过需注意类型的匹配,否则会报错.比如说json格式中大括号中的键值应当写成字符串.概念上json文本和python数据类型之间的对应关系是: 有没有觉得实在是太简单了!

python中的编码与解码

编码与解码 首先,明确一点,计算机中存储的信息都是二进制的 编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显示00110101,还是要显示'a',但计算机怎么知道00110101是'a'呢,这就需要解码,当选择用ascii解码时,当计算机读到00110101时就到对应的ascii表里一查发现是'a',就显示为'a' 编码:真实字符与二进制串的对应关系,真实字符→二进制串 解码:二进制串与真实字符的对应关系,二进制

Python自动化开发课堂笔记【Day03】 - Python基础(字符编码使用,文件处理,函数)

字符编码使用 1. 文本编辑器如何存取文件 文本编辑器相当一个运行在内存中的进程,所以文件内容在编辑未存储时都是在内存中的,尚未存储在硬盘之中,在没有保存之前,所编辑的任何文本都只是一堆字符,没有任何逻辑上的意义,当存储文件的时候需要以一定的编码格式存储于硬盘之中,当进行文件读取的时候也需要以同样的编码格式进行读取到内存之中进行操作,如果存储文件的编码和读取文件的编码不一致则会引起读取过程中的乱码导致文件操作失败. P.S. --> Python解释器执行py文件的原理. Step1. Pyth

Python PEP 8 编码规范中文版

原文链接:http://legacy.python.org/dev/peps/pep-0008/ 转发链接:https://blog.csdn.net/ratsniper/article/details/78954852 Introduction 介绍 A Foolish Consistency is the Hobgoblin of Little Minds 尽信书则不如无书 Code lay-out 代码布局 Indentation 缩进 Tabs or Spaces 制表符还是空格 Max