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)

5个回答

 下载中30%
下载中40%
下载中70%
下载完成
end program
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复darklinboxs: 嗯,我直接从我的开发环境贴过来的。
一年多之前 回复
darklinboxs
darklinboxs 不用import sys好像也可以
一年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复darklinboxs: 比产生数组节约一点内存。
一年多之前 回复
darklinboxs
darklinboxs 那yield,感觉就有什么用了。字节用print就行了?
一年多之前 回复
#!/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")
darklinboxs
darklinboxs 可以通过通过实现。
一年多之前 回复

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

图片说明

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!