找出文件中的中文


'''
檢查文件中是否有中文,並且找出位置
'''
import re
import sys

m = re.compile(u'[\u4e00-\u9fa5]')


# 返回的是list
def readfile(filename):
    try:
        with open(filename,'r' ) as f:
            content = f.readlines()
    except UnicodeDecodeError:
        with open(filename,'r' ,encoding='utf-8') as f:
            content = f.readlines()
    return content


def exp(linedata):
    cn = m.findall(linedata.strip())
    if cn:
        s = ''.join(cn)
        return s
    return None

def findchinese(filename):
    total_str = ''
    data = readfile(filename)
    for line in range(len(data)):
        linedata = exp( data[line])
        if linedata:
            total_str += 'line num :' + str(line )+ '  ; data = ' + linedata +'\n'
    print(total_str)
    with open('result.txt','w+') as f:
        f.write(total_str)



if __name__ == '__main__':
    if len(sys.argv) == 2:
        findchinese(sys.argv[1]) 
    else:
        print('參數錯誤')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章