这是一个创建于 2813 天前的主题,其中的信息可能已经有所发展或是发生改变。
在 cmder 下面,执行 you-get 。其进度条如下
2.7% ( 28.8/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.8% ( 29.0/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.8% ( 29.2/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.8% ( 29.5/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.8% ( 29.8/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.9% ( 30.0/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.9% ( 30.2/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.9% ( 30.5/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
2.9% ( 30.8/1050.6MB) ├█────────────────────────────────────┤[ 1/28]
3.0% ( 31.0/1050.6MB) ├██───────────────────────────────────┤[ 1/28]
3.0% ( 31.2/1050.6MB) ├██───────────────────────────────────┤[ 1/28]
直至 100%,而 linux 下面就是一条。何解?
8 条回复 • 2017-02-11 12:23:55 +08:00
|
|
1
author 2017-02-10 23:07:36 +08:00 via Android
是回车符问题吗? Linux 下把终端调到宽度很小,估计也是很多条
|
|
|
2
Kisesy 2017-02-10 23:24:59 +08:00
应该是命令行缓冲区的问题 如果想要实现单行更新,一般是直接写 stdout ,并且写的时候前面加转义符 \r,比如: sys.stdout.write('\r' + bar) 这时候后面不要跟 sys.stdout.flush() 不然就强制刷新了,这样就会产生多行了 我看 you-get 的代码就写了 flush ,所以才会出现这种差异吧
|
|
|
3
Kisesy 2017-02-10 23:32:50 +08:00
唉,好像说错了,应该是可以加 sys.stdout.flush() 的,记错了。。。
|
|
|
4
DiamondbacK 2017-02-10 23:35:41 +08:00
cmder + you-get 0.4.626 ,没有遇到过这个问题。
|
|
|
5
ovear 2017-02-11 00:40:29 +08:00 1
解决方法是把对话框拉宽一点 =、=
|
|
|
7
xmoiduts 2017-02-11 11:58:51 +08:00 via Android
|