多线程下载时的进度显示问题

2013-05-03 16:22:05 +08:00
 hhrmatata
我想用python写一个多线程下载程序,比如同时有5个下载线程,如何在terminal同时跟踪5个下载进度百分比?

貌似terminal中只能有一个光标,但是要解决这个问题需要同时有5个光标在显示进度。
4088 次点击
所在节点    Python
8 条回复
mx1700
2013-05-03 18:18:31 +08:00
定义一个外部的变量,5个进程累加这个变量,来控制进度显示,这样就可以了吧。

不懂python仅作不负责任的猜测。
YUCOAT
2013-05-03 20:38:47 +08:00
可能要用到curses库来显示吧,盗用楼上的话,不懂终端显示仅作不负责的猜测
hhrmatata
2013-05-03 22:27:56 +08:00
@mx1700
@YUCOAT
感谢两位提供方法建议。

我也猜测下,准备实验下是否可以用多进程,一个进程单开一个terminal下载,这样单个下载进度可以单独显示。暂未验证。
tuoxie007
2013-05-04 10:45:20 +08:00
你看以看看axel是怎么显示的,注意加个参数 -a,否则就刷屏了
chichan
2013-05-07 02:02:59 +08:00
建议使用curses,或者写屏以后清屏
hit9
2013-05-22 12:52:49 +08:00
进度显示由各个线程的进度组成。

全局建立几个变量,每个线程读写一个变量(实际不断赋值即可),每个线程执行结束后修改对应的变量。组装此时刻的所有的变量并输出(即输出进度)。
csx163
2013-05-22 13:35:01 +08:00
我只用过python-progressbar 感觉可以
railgun
2013-05-22 13:38:26 +08:00
像top命令那样不行?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/67598

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX