win7下python3.4讀寫中文文件不亂碼

win7下,python3.4讀寫中文文件比python2方便一點兒了。只要在打開文件時指定編碼格式就可以了。

即:

f = open(fname,'r',encoding='utf-8')

f2 = open(fname2,'w',encoding='utf-8')

下面是一個調試通過的例子。讀log2目錄下utf-8格式的日誌文件,搜索“失敗”字符串,把搜到的結果寫到utf-8格式的rst.txt文件中。

# -*- coding: utf-8 -*-

import os
import sys

def main(filedir,keystr):
    filelists = os.listdir(filedir)
    fname2 = 'g:/log/rst.txt'
    fw = open(fname2,'w',encoding='utf-8')
    for fnamestr in filelists:
        fname = os.path.join(filedir,fnamestr)
        print(fname,keystr)
        #continue
        fhandle = open(fname,'r',encoding='utf-8')
        line2 = fhandle.readline()
        while line2:
            if line2.find(keystr)>=0:
                print("   ==",line2)
                fw.write(line2)
            line2 = fhandle.readline()
        fhandle.close()
    fw.close()


if __name__ == '__main__':
    filedir = "g:/log2"
    keystr = "失敗"
    main(filedir,keystr)
    print("Done!")


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章