Python查找文件中包含中文的行方法

yipeiwu_com6年前Python基础

前言

近几天在做多语言版本的时候再次发现,区分各种语言真的是一件比较困难的事情,上一次做中文提取工具的就花了不少时间,这次决定用python试一试,结果写起来发现真是方便不少,自己整理了一下方便以后查找使用。

代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# find the line of containing chinese in files

__author__ = 'AlbertS'

import re

def start_find_chinese():
 find_count = 0;
 with open('ko_untranslated.txt', 'wb') as outfile:
  with open('source_ko.txt', 'rb') as infile:
   while True:
    content = infile.readline()
    if re.match(r'(.*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*)', content.decode('utf-8')):
     outfile.write(content)
     find_count += 1;

    if not content:
     return find_count

# start to find
if __name__ == '__main__':
 count = start_find_chinese()
 print("find complete! count =", count)

原始文件

source_ko.txt文件内容

3 캐릭터 Lv.50 달성
8 캐릭터 Lv.80 달성
10 캐릭터 Lv.90 달성
...
...
2840 飞黄腾达
4841 同归于尽
8848 캐릭터 Lv.50 달

运行效果(ko_untranslated.txt文件)

2840 飞黄腾达
4841 同归于尽

总结

1. 其实这段小小的代码中包含了两个常用的功能,那就是读写文件和正则表达式。

2. 这也是两个重要的知识点,其中with操作可能防止资源泄漏,操作起来更加方便。

3. 正则表达式可是一个文字处理的利器,代码中的正则可能还不太完善,后续我会继续补充更新。

以上这篇Python查找文件中包含中文的行方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3.0中普通方法、类方法和静态方法的比较

一、语法区别 刚接触Python中的面向对象,对于类方法和静态方法难以区分,通过查找知乎、CSDN论坛,废了好大的劲思路才逐渐明朗,所以就总结顺便分享一下。 首先开始编辑代码 #...

Python 普通最小二乘法(OLS)进行多项式拟合的方法

Python 普通最小二乘法(OLS)进行多项式拟合的方法

多元函数拟合。如 电视机和收音机价格多销售额的影响,此时自变量有两个。 python 解法: import numpy as np import pandas as pd #impo...

给你选择Python语言实现机器学习算法的三大理由

给你选择Python语言实现机器学习算法的三大理由

基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使用广泛,存在大量的开发文档。 可执行伪代码 P...

python实现将英文单词表示的数字转换成阿拉伯数字的方法

本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法。分享给大家供大家参考。具体实现方法如下: import re _known = { 'zero': 0,...

Pandas之MultiIndex对象的示例详解

约定 import pandas as pd from pandas import DataFrame import numpy as np MultiIndex MultiI...