这是一个创建于 3165 天前的主题,其中的信息可能已经有所发展或是发生改变。
在 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 |