python progressbar print_python print 进度条的例子
def progress(width, percent):
print "%s %d%%\r" % (('%%-%ds' % width) % (width * percent / 100 * "="), percent),
if percent >= 100:
sys.stdout.flush()
首先,先說明一下print的一些用法:
和C語言一樣,字符串里的匹配使用‘%’和相關的轉移類型組成的:
轉換類型 ? ? ? ? ?含義
d,i ? ? ? ? ? ? ? ? 帶符號的十進制整數
o ? ? ? ? ? ? ? ? ? 不帶符號的八進制
u ? ? ? ? ? ? ? ? ? 不帶符號的十進制
x ? ? ? ? ? ? ? ? ? ?不帶符號的十六進制(小寫)
X ? ? ? ? ? ? ? ? ? 不帶符號的十六進制(大寫)
e ? ? ? ? ? ? ? ? ? 科學計數法表示的浮點數(小寫)
E ? ? ? ? ? ? ? ? ? 科學計數法表示的浮點數(大寫)
f,F ? ? ? ? ? ? ? ? 十進制浮點數
g ? ? ? ? ? ? ? ? ? 如果指數大于-4或者小于精度值則和e相同,其他情況和f相同
G ? ? ? ? ? ? ? ? ?如果指數大于-4或者小于精度值則和E相同,其他情況和F相同
C ? ? ? ? ? ? ? ? ?單字符(接受整數或者單字符字符串)
r ? ? ? ? ? ? ? ? ? ?字符串(使用repr轉換任意python對象)
s ? ? ? ? ? ? ? ? ? 字符串(使用str轉換任意python對象)
>>> pi = 3.141592653
>>> print('%10.3f' % pi) #字段寬10,精度3
3.142
>>> print("pi = %.*f" % (3,pi)) #用*從后面的元組中讀取字段寬度或精度
pi = 3.142
>>> print('%010.3f' % pi) #用0填充空白
000003.142
>>> print('%-10.3f' % pi) #左對齊
3.142
>>> print('%+f' % pi) #顯示正負號
+3.141593
%-NType:
這樣表示顯示字符串預留的長度. 例如
print('%-10.3f' % pi)
表示顯示pi保留小數點以后3位,字符串的寬度為10.
好,現在我回到開頭的函數,并做一些說明:
現在假設width = 100, percent = 2.
可以看出,這里的字符串是嵌套的,我們首先對第一個表達式進行解析,那么
('%%-%ds' % width)
的內容是: str1 =?'%-100s',這個字符串嵌套了后一個字符串的內容,也就是
(width * percent / 100 * "=")
根據python的字符串可以相乘的原理,我們得到這個字符串其實就是str2 = 100*2/100*"=",也就是兩個等號‘==’。
由于str2是嵌入在str1中的,那么我們繼續對此進行解析,這里是str1的意思就是顯示str2, 并使得字符串的寬度為100. 不足的用空格填充。
所以我們得到"== ? ? ? ? ??? ? ? ? ??? ? ? ? ??? ? ? ? ??? ? ? ? ??? ? ? ? ??? ? ? ? ??? ? ? ? ?? ? ? ? ? ? ? ? ? " , 2%
所以當percent變化時,程序就打印用等號表示的進度條。
總結
以上是生活随笔為你收集整理的python progressbar print_python print 进度条的例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浙商银行银联标准卡年费多少?刷几次免年费
- 下一篇: delphi if多个条件_Python