使用Python按字节分割字符串

处理过程大致是:从文件中按行读取数据,对每一行数据按给定的字节(fieldlength)插入分隔符再以UTF-8保存到新的文件。我试过分别以二进制和文本模式打开源文件再进... 处理过程大致是:从文件中按行读取数据,对每一行数据按给定的字节(field length)插入分隔符再以UTF-8保存到新的文件。我试过分别以二进制和文本模式打开源文件再进行处理,但都比较繁琐并且失败,原因是多样化的。各位是否有更灵活简单的方法。感激不尽。 展开
 我来答
FFFONION
推荐于2017-11-26 · TA获得超过616个赞
知道小有建树答主
回答量:450
采纳率:0%
帮助的人:433万
展开全部

按行读取之后按原文件编码类型解码,插入完后按UTF-8解码写入文件

以源文件为gbk为例,假设每5字符插入|

python2

with open('target','w') as f:
    for line open('source').readlines():
        line=line.decode('gbk')
        line='|'.join([line[i:min(i+5,len(line))] for i in range(0,len(line),5)])
        f.write(line.encode('utf-8'))

python3

with open('target','w',encoding='utf-8') as f:
    for line open('source',encoding='gbk').readlines():
        line=line
        line='|'.join([line[i:min(i+5,len(line))] for i in range(0,len(line),5)])
        f.write(line)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式