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

作者:AlbertS 时间:2023-06-11 11:16:20 

前言

近几天在做多语言版本的时候再次发现,区分各种语言真的是一件比较困难的事情,上一次做中文提取工具的就花了不少时间,这次决定用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. 正则表达式可是一个文字处理的利器,代码中的正则可能还不太完善,后续我会继续补充更新。

来源:https://blog.csdn.net/albertsh/article/details/78128042

标签:Python,文件,中文,行
0
投稿

猜你喜欢

  • 详解Python中的__getitem__方法与slice对象的切片操作

    2022-04-26 19:54:55
  • 一文教会你pandas plot各种绘图

    2021-04-29 19:41:11
  • Python中不同进制互相转换(二进制、八进制、十进制和十六进制)

    2022-02-12 02:32:55
  • python切片(获取一个子列表(数组))详解

    2022-09-18 01:18:49
  • Python中方法的缺省参数问题解读

    2022-10-07 17:00:45
  • MySql 5.7.17 winx64的安装配置详细教程

    2024-01-17 15:00:26
  • 解决django migrate报错ORA-02000: missing ALWAYS keyword

    2023-04-15 14:19:54
  • python request post 列表的方法详解

    2023-10-04 11:46:19
  • PHP抽象工厂模式Abstract Factory Pattern优点与实现方式

    2023-05-25 03:04:57
  • Go slice切片make生成append追加copy复制示例

    2024-02-13 11:48:29
  • Python 自动化处理Excel和Word实现自动办公

    2021-06-07 06:41:16
  • php strstr查找字符串中是否包含某些字符的查找函数

    2023-11-17 01:42:23
  • vue项目动态设置页面title及是否缓存页面的问题

    2024-04-10 10:23:52
  • vue中英文切换实例代码

    2024-05-29 22:29:37
  • 使用postman操作ElasticSearch的方法

    2023-04-22 20:58:14
  • Git commit --amend 修改提交信息操作

    2022-11-01 02:03:32
  • Vue2.0/3.0双向数据绑定的实现原理详解

    2024-05-21 10:17:58
  • Python matplotlib seaborn绘图教程详解

    2021-03-12 03:23:07
  • Python方差特征过滤的实例分析

    2021-08-11 01:12:56
  • 不安全的js写法

    2009-09-16 14:26:00
  • asp之家 网络编程 m.aspxhome.com