簡體   English   中英

在python 3中,當某些文本位於文本進度條前面時,如何打印文本進度條?

[英]How to print a text progress bar when some text was in front of it in python 3?

好吧,我的意思是,這是我的代碼:

def progress():                                                                                                                         
    for i in range(100):                                                        
        print('{0}\b\b'.format(i), end='', flush=True)                          
        time.sleep(0.1)                                                         

print('progress bar test: {0} finished!'.format(progress()))    

我想要這樣的輸出:

progress bar test: 1.2.3..(and then print 'finished!')

但是我得到了這個:

1.2.3...
progress bar test: None finished!

這是問題。 而且我也想知道如果數字小於10, \\b\\b刪除前面的文字嗎?

您的函數沒有返回值,因此您會看到默認情況下返回的None 循環完成"finished"您可以返回"finished"

import time
def progress():
    for i in range(3):
        print('{0}.'.format(i), end='', flush=True)
        time.sleep(0.1)
    return "finished!"

print('progress bar test: {0}'.format(progress()))

如果您希望能夠更改返回值,只需傳入一個 arg:

def progress(end):
    for i in range(3):
        print('{0}.'.format(i), end='', flush=True)
        time.sleep(0.1)
    return end

print('progress bar test: {0} '.format(progress("finished!")))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM