PYTHON爱好者
PYTHON, twisted, 网络编程。

分析巨文本信息的一段代码


 1import urlparse, csv
 2import threading
 3from operator import itemgetter
 4
 5DICTHOSTS = {}
 6
 7class CSVReader(threading.Thread):
 8    def __init__(self, threadname, filename):
 9        self._file = filename
10        threading.Thread.__init__(self, name = threadname)
11        
12    def run(self):
13        global DICTHOSTS
14        try:
15            _fhandle = open(self._file, 'r')
16            for line in _fhandle:
17                try:
18                    host = urlparse.urlsplit(line.split('","')[1])[1]
19                except IndexError:
20                    pass
21                
22                if host:
23                    if DICTHOSTS.has_key(host):
24                        DICTHOSTS[host] += 1
25                    else:
26                        DICTHOSTS[host] = 1
27        finally:
28            _fhandle.close()
29        
30        print self.getName(), self._file, 'has been traversed.', 'DICTHOSTS has', len(DICTHOSTS), 'items.'
31        
32if __name__ == '__main__':
33    sortedList = []
34    path = 'E:/workspace/URLsSorter/src/titleurl/'
35    for i in range(1, 21):
36        si = str(i)
37        reader = CSVReader('Thread' + si, path + 'titleurl' + si + '.csv')
38        reader.start()
39        reader.join()
40
41            
42    sortedList = sorted(DICTHOSTS.items(), key = itemgetter(1), reverse = True)
43    
44    writter = csv.writer(open(path + 'Result.csv', 'wb'))
45    writter.writerows(sortedList)
发表于 2007-12-03 09:44 Don Li 阅读(320) 评论(0)  编辑 收藏 引用 所属分类: Python
 
只有注册用户登录后才能发表评论。
 
<2025年12月>
日一二三四五六
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

 导航

  • 首页
  • 发新随笔
  • 发新文章
  • 联系
  • 聚合
  • 管理

 统计

  • 随笔: 42
  • 文章: 0
  • 评论: 12
  • 引用: 0

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿(1)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(32)

  • Python(26) (rss)
  • 搜索技术(6) (rss)

随笔档案(42)

  • 2011年11月 (1)
  • 2011年9月 (1)
  • 2010年12月 (1)
  • 2010年5月 (2)
  • 2008年12月 (1)
  • 2008年9月 (1)
  • 2008年7月 (1)
  • 2008年5月 (3)
  • 2008年3月 (8)
  • 2008年2月 (6)
  • 2008年1月 (4)
  • 2007年12月 (13)

文章分类

  • Python (rss)

最新随笔

  • 1. Twisted中启动子进程及进程间通信方式
  • 2. 关于测试Python不释放内存的测试代码
  • 3. TCP数据包分片机制详解
  • 4. 顺着兴致,再罗嗦两句吧
  • 5. Nginx + CodeIgniter PATH_INFO的config(N久没有写博了)
  • 6. VS 2005中实现对Python 2.5.2的模块扩展实验
  • 7. Python项目的文档化开发
  • 8. 最大公约数算法
  • 9. linux下文件权限参数的解释
  • 10. 用来做搜索日志负载测试的一段脚本

最新评论

  • 1. re: 最大公约数算法
  • def gcd(a, b):
    if b == 0:return a
    return gcd(b, a % b)
  • --廖文良
  • 2. re: 让putty支持中文输入和显示
  • 还是乱码。。。。
  • --alqaz
  • 3. re: 让putty支持中文输入和显示
  • 确实有作用,非常棒!非常感谢
  • --书痕
  • 4. re: Python线程编程
  • 写得蛮好的-----
  • --lonely-fly
  • 5. re: 让putty支持中文输入和显示
  • 非常感谢!以前我用SecureCRT,刚换PUTTY没几天,不太熟悉,就遇到中文不嫩显示的问题。谢谢提供这样好的文章,让我马上解决问题。谢谢分享。
  • --Jessie

阅读排行榜

  • 1. TCP数据包分片机制详解(11890)
  • 2. 最大公约数算法(7635)
  • 3. 让putty支持中文输入和显示(6621)
  • 4. linux下crontab定时执行任务(5273)
  • 5. Python线程编程(4189)

评论排行榜

  • 1. 让putty支持中文输入和显示(5)
  • 2. Python线程编程(2)
  • 3. Python基础笔记摘要(2)
  • 4. 从源码在同台linux服务器上安装2个MySQL心得(1)
  • 5. 最大公约数算法(1)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 Don Li