Python生成器,生成下载进度条

代码如下:
def xiazai_ing():
print('下载中30%')
yield '====>30%'
print('下载中40%')
yield '====>40%'
print('下载中70%')
yield '====>70%'
print('下载完成')
yield '====>100%'

call=xiazai_ing()

next (call) #每次输出都要单独执行这个语句,而且是4次,怎么解决呀,我想自动生成条
而不是,手动每次输入。

 输出结果如下:

 ![图片说明](https://img-ask.csdn.net/upload/201807/18/1531915293_890692.png)
 下载中30%
下载中40%
下载中70%
下载完成
end program

图片说明

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
def xiazai_ing():
    print('下载中30%')
    yield '====>30%'
    print('下载中40%')
    yield '====>40%'
    print('下载中70%')
    yield '====>70%'
    print('下载完成')
    yield '====>100%'

call=xiazai_ing()
for i in  call:
    pass
print("end program")

下载百分比应该用变量吗?按时间刷新,取已经下载的文件大小和文件总大小。然后进行行内覆盖显示,就可以动起来了。

xiazai_ing()里设置两个变量,分别记录i已下载文件的字节数和文件的总字节数,计算下载的百分比,然后定时调用xiazai_ing,next(call),并且采用覆盖显示