在開發(fā)項目過程中,為了方便調(diào)試代碼,經(jīng)常會向stdout中輸出一些日志,默認(rèn)的這些日志就直接顯示在了終端中。而一般的應(yīng)用服務(wù)器,第三方庫,甚至服務(wù)器的一些通告也會在終端中顯示,這樣就攪亂了我們想要的信息。
我們可以通過對有用的信息設(shè)置不同顏色來達(dá)到醒目的效果,因為我平時都是在linux下開發(fā),而linux終端中的顏色是用轉(zhuǎn)義序列控制的,轉(zhuǎn)義序列是以ESC開頭,可以用\033完成相同的工作(ESC的ASCII碼用十進(jìn)制表示就是27,等于用八進(jìn)制表示的33)。
書寫格式,和相關(guān)說明如下:
格式:\033[顯示方式;前景色;背景色m
?
說明:
前景色??????????? 背景色?????????? 顏色
---------------------------------------
30??????????????? 40????????????? 黑色
31??????????????? 41????????????? 紅色
32??????????????? 42????????????? 綠色
33??????????????? 43????????????? ?S色
34??????????????? 44????????????? 藍(lán)色
35??????????????? 45????????????? 紫紅色
36??????????????? 46????????????? 青藍(lán)色
37??????????????? 47????????????? 白色
顯示方式?????????? 意義
-------------------------
0??????????????? 終端默認(rèn)設(shè)置
1??????????????? 高亮顯示
4??????????????? 使用下劃線
5??????????????? 閃爍
7??????????????? 反白顯示
8??????????????? 不可見
?
例子:
\033[1;31;40m???
\033[0m????????? ??
下面是我在python中使用的方式:
print '*' * 50
print '*HOST:\t', request.META.get('REMOTE_ADDR')
print '*URI:\t', request.path
print '*ARGS:\t', QueryDict(request.body)
print '*TIME:\t', time.time() - request.start_time
print '*' * 50
print '\033[0m'
當(dāng)然這只是一種簡單的實現(xiàn)方式,而且僅在linux下有效,其它方式可以使用termcolor,或者參考ipython的console實現(xiàn)(pyreadline)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

