把文件每行后面的数字去掉 以及 python读写文件时的编码问题

本文介绍了在Python中处理文件时遇到的编码问题,特别是'gbk'编码错误。通过以二进制模式打开文件并使用split函数删除每行后的数字。同时,文章详细解释了编码和解码过程,以及如何正确写入UTF-8编码的文件。
摘要由CSDN通过智能技术生成

总结写在前面:

python读取文件文件时,如果出现 'gbk' codec can't decode byte 0xac in position 7482: illegal multibyte sequence编码错误

在读取文件的后面加一个b表示用二进制文件的格式打开with open(path,'rb') as file

假设读取出来的文件放在line里面,我们要使用line时,需要解码decode

line.decode()

 

今天拿到一个文件,里面的东西是这样的

^https?://[^/]+/$    10050
^https?://[^/]+/?(\?|$)    10040
^https?://[^/]+/.*\.(php|aspx|asp|jsp|do|dwr|cgi|fcgi|action|ashx|axd|json)(\?|$)    6997
^https?://[^/]+/(([^/]+/)*[^(.|/|?)]+($|\?)|([^/]+/)*$)    5394
^https?://[^/]+/.*(\?|$)    5348

大概有接近十万条,我只需要里面的那些每条前面的正则表达式,后面出现的数字怎么出来的我也不知道,

总之我就需要把每条后面的数字去掉,比较庆幸的是每串数字前面都有几个tab空格,于是就可以想到用Python读取文件然后用.split('\t'),想得倒是很简单,做起来却没有那么顺利,python3的编码问题搞得新手有点烦。

下面贴出代码

def func(path):
    result = []
    with open(path,'rb'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值