无论如何监控urllib2转移的传输速率?

时间:2011-02-20 03:06:28

标签: python urllib2 file-transfer

  

可能重复:
  Python urllib2 Progress Hook

我有一个用urllib2上传文件的脚本。我有超时设置,但我相信如果我的转移停止,它不会消失。我想知道是否有监控urllib2传输并且如果传输速率低于xx字节/秒则使其中止。

现在我使用signal.alarm,它基于文件大小除以粗略猜测我认为传输速率但不是最好的方法。

2 个答案:

答案 0 :(得分:0)

传输速度不是来自你的urllib2,它是底层网络的属性。您可以使用任何标准操作系统网络监视工具(如ntop)并将其包装在子进程上,以便在通过urllib2传输之前检查网络速度。您也可以通过多个线程来完成,但是一旦您的urllib2线程处于IO操作中,它将被阻止,您无法从其他线程执行任何操作。

同样,正如我所说的转移是你的网络属性并通过套接字模块接口,你可以覆盖Socket中的一些类来检查网络速度并相应地调整(这不是微不足道的),urllib2可以使用这些套接字。

答案 1 :(得分:0)

您可以设置hook.