Python 命令行下多行刷新(终于解决)
資深大佬 : lswang 7
前言
之前看到很多软件都能在命令行下多行刷新,可在python 的默认打印中只能支持单行刷新。 网上搜了很多文章都没有解决这个问题。后来看到ANSI ESCAPE CODES`相关的概念,终于看到了曙光。 参考文档 wiki
python 代码示例
注: 在命令行下执行 python 文件才可以
# -*- coding:utf8 -*- import time,sys def progressbar(): print 'Loading...' print "[+] start to build...." height = 4 for i in range(0, 100): if i > 0: sys.stdout.write(u'u001b[1A') time.sleep(0.1) width = (i + 1) / 4 bar = '[' + '#' * width + ' ' * (25 - width) + ']' sys.stdout.write(u'u001b[1000Du001b[2K' + ' | -> ' + bar + 'n') sys.stdout.write(u'u001b[1000Du001b[2K' + ' | -> ' + bar) sys.stdout.flush() sys.stdout.write(u'u001b[1A') sys.stdout.write(u'u001b[1A') sys.stdout.write(u'u001b[1000D') sys.stdout.write(u'u001b[J') sys.stdout.write('[-] Finish build') sys.stdout.flush() print progressbar()
大佬有話說 (13)