这是一个创建于 3263 天前的主题,其中的信息可能已经有所发展或是发生改变。
在 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 年 2 月 10 日 via Android 是回车符问题吗? Linux 下把终端调到宽度很小,估计也是很多条 |
 | | 2 Kisesy 2017 年 2 月 10 日 应该是命令行缓冲区的问题 如果想要实现单行更新,一般是直接写 stdout ,并且写的时候前面加转义符 \r,比如: sys.stdout.write('\r' + bar) 这时候后面不要跟 sys.stdout.flush() 不然就强制刷新了,这样就会产生多行了 我看 you-get 的代码就写了 flush ,所以才会出现这种差异吧 |
 | | 3 Kisesy 2017 年 2 月 10 日 唉,好像说错了,应该是可以加 sys.stdout.flush() 的,记错了。。。 |
 | | 4 DiamondbacK 2017 年 2 月 10 日 cmder + you-get 0.4.626 ,没有遇到过这个问题。 |
 | | 5 ovear 2017 年 2 月 11 日 1 解决方法是把对话框拉宽一点 =、= |