搜索
简帛阁>技术文章>Python查找文件中包含中文的行方法

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试一试,结果写起来发现真是方便不少,自己整理了一下方便以后查找
当在python3使用Ladon库发布webservice时候,如果定义方法包含中文字符(参数说明除外),例如下面代码,到导致在web端http://localhost:port出现无法查看
编写一个程序,能在当前目录以及当前目录所有子目录下查找文件名包含指定字符串文件,并打印出绝对路径。importosclassSearchFile(object):def__init__(self,
本文实例讲述了python实现在目录查找指定文件方法。分享给大家供大家参考。具体实现方法如下:1模糊查找代码如下:importosfromglobimportglob用到了这个模块defsear
什么是倒排索引?倒排索引(英语:Invertedindex),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置映射。它是文档检
先来看看python版本:>>>importsys>>>sysversionapos;251(r251:54863,Apr182007,08:51:08)[MS
glob模块是最简单模块之一,内容非常少。用它可以查找符合特定规则文件路径名。跟使用windows下文件搜索差不多。查找文件只用到三个匹配符:”*”,“”,“[]“。”*”匹配0个或多个字符;
php数组中文排序,文件格式一般用utf8,直接用asort排序不行。若是gbk和gb2312可以。这跟编码有关。gbk和gb2312本身编码就是用拼音排序。代码如下:functionutf8_
withopen(testt,r)asf1:list1f1readlines()print(list1)list1set(list1)withopen(test2,r)asf2:list2f2read
后面要加encoding'gbk'importpandasaspddattpdread_csv('D:\python_prj_1\data_1txt',encoding'gbk')print(datt