Python小坑:open()和codecs.open()区别,以及常见指令和操作指令

总结:面对复杂文本的读取,尤其是爬虫获得的以及原始的复杂文本,使用open读取后编码不统一的情况,建议用codecs.open()

写贴原因

因为接触Python时候已经是Python3.x的年代了,用的文件操作最多的就是with open() as file_:这一段话,但是在自然语言处理过程中每次都出现报错,一般都是写入时候或者读取时候说编码错误。大多数时候处理方法是转码,
也就是

input --- encode --- unicode --- output

这样是有问题的,因为文本的数据过大会很久。
无意中发现了python2.x年代的codecs.open()这一方法。他有一个非常重要的特性是:读取文件内容时候,会自动转换为内部的unicode

好处
1.兼容open()函数所有操作命令。
2.指定用什么读取编码,就用什么编码读取和操作,无需担心编码问题。
3.速度是一样的。

函数解说


使用格式

with codecs.open(file=源文件,mode='命令',encoding='编(解)码方式') as 命名:

常见指令
模式分两种:只读模式只写模式读、写模式

指令作用建议、注意事项
r只读模式打开文件
rb二进制只读模型文件保存时的编码格式未知,避免乱码时可使用该命令;使用该命令后,需要转码,转码也要注意乱码问题。
r+读、写模式
rb+二进制读、写模式
w(新建)只写模式文件若存在,首先清空,然后(重新)创建
wb二进制(新建)只写模式
w+读、写模式
wb+二进制读、写模式读取文件报错无法接吗时候,建议使用该模式,但是读取后,需要编码
a追加1.如果文件不存在,将自动被创建; 2.文件存在,结尾处继续编辑
ab二进制追加
a+读写模式追加
ab+二进制读写模式追加

关于如何用python查看文件的格式编码,可以看查看文件编码


常见编码
这个,计算机支持的,都可以,比如'utf-8'等等

  • 16
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值