我正在尝试使用urllib2
http客户端在python中创建下载进度栏。我已经查看了API(以及Google),似乎urllib2不允许您注册进度挂钩。但是,较旧的不推荐使用的urllib确实具有此功能。
有谁知道如何使用urllib2创建进度条或报告挂钩?还是有一些其他的黑客来获得类似的功能?
这是一个完全有效的示例,它建立在Anurag响应中的分块方法的基础上。我的版本允许您设置块大小,并附加任意报告功能:
import urllib2, sys
def chunk_report(bytes_so_far, chunk_size, total_size):
percent = float(bytes_so_far) / total_size
percent = round(percent*100, 2)
sys.stdout.write("Downloaded %d of %d bytes (%0.2f%%)\r" %
(bytes_so_far, total_size, percent))
if bytes_so_far >= total_size:
sys.stdout.write('\n')
def chunk_read(response, chunk_size=8192, report_hook=None):
total_size = response.info().getheader('Content-Length').strip()
total_size = int(total_size)
bytes_so_far = 0
while 1:
chunk = response.read(chunk_size)
bytes_so_far += len(chunk)
if not chunk:
break
if report_hook:
report_hook(bytes_so_far, chunk_size, total_size)
return bytes_so_far
if __name__ == '__main__':
response = urllib2.urlopen('http://www.ebay.com');
chunk_read(response, report_hook=chunk_report)
本来约了14:00面试,没用过牛客所以13:30先进去试试,签到完直接就有个面试官来面了。机器学习岗,对面没开摄像头就开始了,问了实习的工作,BERT,还有其他NLP相关的常规八股,20分钟后手撕一道重排链表,一道判断链表是否有环,都做出来了,然后说今天面试已结束,拜拜,挂面试,没有反问。秒共享。感觉还是浓浓的kpi味道啊害
一二面均有手撕,并且一面着重八股项目,二面着重测开问题,三面没手撕,疑似是技术leader。 三面最后,问了自动售货机能设计出什么样例 以及如何让行人通过没有红绿灯的十字路口对角,当时还觉得他在开玩笑就说“着重注意来向车道,左右摆头,横穿两次”,他似乎还想听更多答案,于是我也是说了出动交警,建立天桥,十字路口爆改环岛三种。。。 面完还妹半小时呢就挂了😂我测,别人都是半小时挂,面试官挂我不带一点犹
4.24一面 4.25二面 4.28挂 和面试官聊的特别好 还有同校学长 最后也挂了 感觉实习就是运气 继续加油
问题内容: 我尝试完成的任务是流式处理ruby文件并打印输出。(注意:我不想一次打印出所有内容) main.py puts “hello” 问题 流文件工作正常。打招呼/再见输出将延迟2秒打印。就像脚本应该工作一样。问题是readline()最终挂起并且永不退出。我从来没有达到最后的打印。 我知道这里有很多类似的问题,但是这些都不是让我解决问题的方法。我并不是整个子流程中的人,所以请给我一个更实际
7.21 面的算法岗,面试官很和蔼,问的问题很有深度,后面才知道是百度很多模型的核心开发人员,牛! 上来先做题,让共享屏幕。题目是编辑距离,想了一会写出来了,让写几个测试样例跑一下,写了几个边界条件测试了一下,面试官说可以了,然后手撕代码就过了。 接着开始自我介绍,完了开始问论文相关的东西。我介绍过程中他会就感兴趣的点提问,问的很有深度,但是好在多数问题我自己准备过,答得还算可以。 接着根据论文延
面试大概一个小时 1. 自我介绍 2. 说一段项目经历并深挖 3. 了解transformer吗,详细介绍encoder的结构,并说明为何需要position encoding 4. 了解堆排序吗,说说流程 5. 手撕最长上升子序列 6. 反问业务,说是大模型微调 全部答上来了,几乎没有答的不满意的地方。面试完秒挂。应该是方向不匹配。那为啥捞我?