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!")