(Python)文件读取时出现编码报错(二)——已解决

前言

        前几天遇到编码报错,我自认为下次遇到这样的问题还不手到擒来,结果真就是为了考验我,我又遇上了,这次解决后,我认为以后再出现这种问题就可以分分钟解决了

问题出现及解决

        先介绍个小知识点,因为文件中的内容是以字符串形式保存的,所以读取文件中每行的内容可以借助以下模块完成

def r_line():
    f = open('f.name')
    fList = []    
    for line in f.readlines():
        fList.append(line)
    
    f.close()

上述模块在大多数场景下是适用的,但终究有例外,前几次用这种模块,安然无恙,直到这次,它报错了

然后改进下,使用下面这个,还是报错

​
def r_line():
    f = open('f.name',encoding = 'utf-8')
    fList = []    
    for line in f.readlines():
        fList.append(line)
    
    f.close()

​

继续改进,变为下面这个,没问题了

​
​
def r_line():
    f = open('f.name',errors = 'ignore',encoding = 'utf-8')
    fList = []    
    for line in f.readlines():
        fList.append(line)
    
    f.close()

注意:读取文件时最好按照这三个模板顺序套用,有的模板适用于这种读取,有的适用于另一种,我亲测是这样的

小结

        关于文件读取,最容易出现问题的就是编码及文件指针,而编码问题是很烦的,到现在解决这类问题我认为游刃有余了,还不错,问题出现就解决问题,终有天,还会出现问题,没关系,也许哪天人不在了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值