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
之后加上 \',\'
避免换行,以及及时刷新输出。
import sys
import time
for i in range(10):
print \'\\r%s\' % i,
sys.stdout.flush()
time.sleep(0.5)
有了这种输出的特殊技巧,想造出什么样的进度条就看心情咯~~
看!跑马灯!
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)