50万邮件文本分域检索与查询的python实现(一)

( --原创,转载请声明-- )

# 把最近用python写的一个邮件分区域检索和查询的实现贴出来

# 课余时间不多,没来得及考虑效率问题,思路较简单。so,有更高效的方法请不吝赐教~

# 轻拍~


一、构建索引目录

邮件数据集:1.3G,约50万个邮件文本。

目录树层次关系如下:



一级目录:有146个文件夹,对应146个人

二级目录:每个人的文件夹下有多个子文件夹,对应不同类型的邮件分类

三级目录:对应每个分类下的邮件文件

 

导入os模块,采用3个列表类型数据,对每一层文件进行遍历,分别存储在对应的列表中,把最后一级列表中的数据写到文件“out.txt”里。

for i in os.listdir('/tmp/Lupy-0.2.1/IR-test/mail'):
 filelevel_1.append('/tmp/Lupy-0.2.1/IR-test/mail/'+i)

for j in filelevel_1:
 for j1 in os.listdir(j):
  # Don't want docs in 'all_documents' 
  if(j1!='all_documents'):
   filelevel_2.append(j+'/'+j1)

for p in filelevel_2:
 for p1 in os.listdir(p):
  files.append(p+'/'+p1+'\r\n')

在服务器上跑,速度还可以...

方法比较土,自行鄙视一次...

最后,造出了一个好大的txt文件:

Done!

python里应该有可以遍历当前文件夹所有深度子目录文本的模块或方法,初学python,没有调研,知道的可以告知一下~

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值