彩色進度條

Python 輸出的那些好玩的東東

慢慢發現 Python 輸出裏一些好玩兒的奇技淫巧,一條一條列出來,發現了新的會更新補上。python

彩色輸出

如今命令行中輸出彩色的信息,須要在輸出以前設定顏色,以後再將顏色恢復,不然就一直彩色下去啦。命令行

COLOR_CODES = {
    'debug': '\033[1;34m',  # blue
    'info': '\033[1;32m',  # green
    'warning': '\033[1;33m',  # yellow
    'error': '\033[1;31m',  # red
    'critical': '\033[1;41m',  # background red
}

RESET_COLOR = '\033[0m'


def color_msg(level, msg):
    return COLOR_CODES[level] + msg + RESET_COLOR

進度條

進度條實現起來呢,主要就是每次輸出不換行,而後在一行輸出完成以後讓光標回到行首從新輸出,這裏用到 '\r' 來使光標 回車。記得 print 以後加上 ',' 避免換行,以及及時刷新輸出。debug

import sys
import time

for i in range(10):
    print '\r%s' % i,
    sys.stdout.flush()
    time.sleep(0.5)

有了這種輸出的特殊技巧,想造出什麼樣的進度條就看心情咯~~code

看!跑馬燈!it

from collections import deque
import sys
import time

loading = deque('>---------------')

while 1:
    print '\r%s' % ''.join(loading),
    loading.rotate()
    sys.stdout.flush()
    time.sleep(0.1)
相關文章
相關標籤/搜索