python读文件open file 中文乱码问题

来源:互联网 发布:花生壳赠送的免费域名 编辑:程序博客网 时间:2024/05/29 17:39
问题描述:
自己编写的python小程序中使用open方法打开文件,readlines读取每行,然后每行根据正则表达式进行匹配处理。
对于处理文件中的中文字符显示出来是乱码。


问题代码:


#打开文件逐行读取
    data=open(filename)
    s = data.readlines()
    data.close()
#循环处理每一行
    for line in s:


问题解决:
这里需要对读取的每一行进行decode和encode


修改后代码:
#打开文件逐行读取
    data=open(filename)
    s = data.readlines()
    data.close()
#循环处理每一行
    for line in s:
        line=line.decode('gbk').encode('utf-8')


解释:
这里用gbk的方式读取每一行,然后转换为utf-8的编码格式进行处理。
修改后的程序可以正常显示处理文件中的中文字符
0 0