如何根据关键字从纯文本文件中提取文本字符串?

时间:2015-10-08 15:49:43

标签: python regex string

我是计算机编程的新手,所以请原谅我的无知。

我有大约10,000个txt文件,我想根据关键词从这些文件中提取字符串。我想创建一个包含origin和string文件名的表。我希望这个表有10,000个条目。我使用的文件是纯文本文件,具体的书籍,没有任何类型的标记。

例如,我想在下面的文本中捕获第一个“索马里”实例之前和之后的100个字符的字符串:

“在古代,非洲之角是一个重要的商业中心。它是传说中的古老土地平民最可能的位置之一。在中世纪,几个强大的索马里帝国统治了区域贸易,包括Ajuran帝国Adal Sultanate,Warsangali Sultanate和Geledi Sultanate。在19世纪后期,通过与这些王国的一系列条约,英国和意大利人获得了对部分海岸的控制,并建立了英国索马里兰和意大利索马里兰的殖民地。 。“

如果我要在索马里的第一个实例之前和之后解析文本并获得100个章程的字符串,我的字符串将如下所示:

传说中的古老土地平民的可能位置。在中世纪,几个强大的索马里索马里帝国统治了区域贸易,包括阿朱兰帝国,阿达尔苏丹国,瓦“

在10,000个文件中,我希望只找到一个包含索马里关键词的文件,但我会搜索成千上万的关键字,包含10,000个结果。

在寻找脚本或程序来完成此任务时,我应该从哪里开始?

1 个答案:

答案 0 :(得分:0)

import os

path = "C://Users//Desktop//test"

for file_name in os.listdir(path):
     A=open(path+"//"+file_name).read()
     S = A.find("Somali")
     if(S==-1):
         print file_name+" Not found"

     else:
         print file_name+" "+A[A.find("Somali")-100:A.find("Somali")+100]

我会按你提到的那样打印清单。