易截截图软件、单文件、免安装、纯绿色、仅160KB

Python urllib 如何添加进度显示

code:
remote = urllib.urlopen(remote_file)
local_file = open(local_path_name, "wb")
local_file.write(remote.read())


问题:
用这种方式可以很好的下载远程文件, 现在需要加入一个进度显示的功能, 类似于下载软件一样, 显示出下载的百分比, 请问怎么做?
恐怕不行!你可以查一下urllib相关文档,如果有与进度有关的回调函数或属性说明urllib已经实现了汇报进度的功能,否则,无法实现,需要修改urllib代码。

个人观点,仅供参考。

定一个标识,下载完后修改标识,图形自己做。


引用
Python code

>>> def report_hook(count, block_size, total_size):
... print '%02d%%'%(100.0 * count * block_size/ total_size)
...
>>> urllib.urlretrieve("http://sports.sina.com.cn/", reportho……

呵呵,看来是实现了的.

yes, 下午我仔细翻阅了文档 也发现了这个方法, 并使用lambda作了些改进
code:
def my_reporthook(blocknum, blocksize, totalsize, url = None):
 ...

urllib.urlretrieve(remote_file, local_path + eachName, lambda nb, bs, fs, remote_file = remote_file:my_reporthook(nb, bs, fs, remote_file))

很好的解决了问题. 谢谢大家 不过分还是要给3F的


相关问答:

eric4怎么运行python程序?

python和pyqt以及Eric4都已经配置好了,打开Eric4写个python程序比如简单的
print“hello,world”,怎么编译运行了,Start菜单的所有命令都出现和图中差不多的对话框,应当怎么运行了?

求大家指教

没有人用 ......

python list中添加类对象的问题

在list中添加一个类的局部变量 这样做是否合法 请看下面例子:
Python code:

class A():
def __init__( self ):
self.__a = 0
self.__b = 'hello'
def get_a( self ):
ret ......

python 文件备份错误

#! c:\python26
# Filename: backup_ver1.py
import os
import time
source=[r'C:\test', r'C:\test1']
target_dir='D:\\back\\'
target=target_dir+time.strftime('%Y%m%d%H%M%S')+'.zip'
zip_command=" ......

请教个python脚本运行总是锁死的问题,请大大指教!

Traceback (most recent call last):
  File "C:\test.py", line 80, in <module>
  cur.execute("update userdata set kb=0 where strAccountID='%s'" % name)
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号