小技巧:with用法 pycharm控制台輸出帶顏色的文字 打印進度條的


with用法

with用法在python中是一個很獨特的用法,因為別的語言的中沒有這個用法。所以針對這個特點我們來做一次總結,什么樣的情況下可以同with  我們學到的有文件的操作,和acquire   release

說道with首先要引入一個概念:上下文管理協議,支持該協議的對象內部要實現__enter__ ()          __exit__()  這兩種方法

           只要實現了這兩種方法的對象,在做打開和關閉的操作時我們就可以直接用with來操作。詳細請參考https://www.ibm.com/developerworks/cn/opensource/os-cn-pythonwith/

 

pycharm 的控制台輸出帶顏色的的文字

在python開發的過程中,經常會遇到需要打印各種信息。海量的信息堆砌在控制台中,就會導致信息都混在一起,降低了重要信息的可讀性。這時候,如果能給重要的信息加上字體顏色,那么就會更加方便用戶閱讀了。   

  當然了,控制台的展示效果有限,並不能像前段一樣炫酷,只能做一些簡單的設置。不過站在可讀性的角度來看,已經好很多了。

書寫格式,和相關說明如下:

復制代碼
#格式:
  設置顏色開始 :\033[顯示方式;前景色;背景色m
#說明:
前景色            背景色           顏色
---------------------------------------
30                40              黑色
31                41              紅色
32                42              綠色
33                43              黃色
34                44              藍色
35                45              紫紅色
36                46              青藍色
37                47              白色
顯示方式           意義
-------------------------
0                終端默認設置
1                高亮顯示
4                使用下划線
5                閃爍
7                反白顯示
8                不可見
 
#例子:
\033[1;31;40m    <!--1-高亮顯示 31-前景色紅色  40-背景色黑色-->
\033[0m          <!--采用終端默認設置,即取消顏色設置-->
復制代碼

舉例1:

print('\033[0;32;40m歡迎使用學生選課系統\033[0m')
try:
    num = int(input('請輸入數字選擇功能 :'))
except Exception as e:
    print('\033[31m對不起!您輸入的內容有誤~\033[0m')

運行結果:

舉例2:

print('\033[0;36m爆竹聲中一歲除,')
print('春風送暖入屠蘇。')
print('千門萬戶曈曈日,')
print('總把新桃換舊符。\033[0m')

運行結果:

 進度條的制作

import sys
import time
def processBar(num, total):
    rate = num / total
    rate_num = int(rate * 100)
    if rate_num == 100:
        r = '\r%s>%d%%\n' % ('=' * rate_num, rate_num,)
    else:
        r = '\r%s>%d%%' % ('=' * rate_num, rate_num,)
    sys.stdout.write(r)
    sys.stdout.flush
n = 0
while n<100:
    n+=1
    time.sleep(0.2)  #方便觀看
    processBar(n,100)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM