一个通过python的多部分/线程下载器?

2024-09-30 10:32:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在网上见过一些线程化的downloaders,甚至还有一些multi-part downloaders(HTTP)。在

我还没有把它们看作一个类/函数。在

如果你们中的任何人有一个类/函数,我可以把它放到任何需要获取多个文件的应用程序中,我将非常感激。在

如果有一个库/框架(或程序的后端)可以做到这一点,请告诉我该怎么做?在


Tags: 文件函数程序框架应用程序http线程multi
1条回答
网友
1楼 · 发布于 2024-09-30 10:32:06

克里斯托弗·阿恩特的Threadpool可能就是你要找的。我使用了this“易于使用的面向对象线程池框架”来达到您所描述的目的,它非常好用。请参阅链接页面底部的usage examples。而且它真的很容易使用:只要定义三个函数(其中一个函数是一个可选的异常处理程序来代替默认处理程序),您就可以上路了。在

http://www.chrisarndt.de/projects/threadpool/

  • 面向对象的可重用设计
  • 提供回调机制来处理从工作线程返回的结果。在
  • WorkRequest对象包装分配给工作线程的任务,并允许将任意数据轻松传递给回调。在
  • 使用Queue类可以解决大多数锁定问题。在
  • 所有的工作线程都是守护线程,因此它们在主程序退出时退出,无需加入。在
  • 线程一创建就开始运行。不需要启动或停止它们。您可以随时增加或减少池大小,多余的线程在完成当前任务时就会退出。在
  • 在为线程分配了最后一个任务后,不需要保留对该线程的引用。你只要告诉它:“别回来找工作,当你完成了!”在
  • 线程在等待分配任务时不会占用周期,它们只是在任务队列为空时阻塞(尽管它们每隔几秒就会唤醒一次,以检查是否已解除)。在

也可以在http://pypi.python.org/pypi/threadpool,轻松安装,或作为subversion结帐(参见项目主页)。在

相关问题 更多 >

    热门问题