আমি এটি কিছুক্ষণ আগে লিখেছিলাম এবং এটিতে সত্যই খুশি। এটি বিনামূল্যে নির্দ্বিধায়।
এটি একটি সময় লাগে indexএবং totalএবং ঐচ্ছিকরূপে titleবা bar_length। একবার হয়ে গেলে, ঘন্টা গ্লাসটিকে একটি চেক-চিহ্ন দিয়ে প্রতিস্থাপন করে।
⏳ Calculating: [████░░░░░░░░░░░░░░░░░░░░░] 18.0% done
✅ Calculating: [█████████████████████████] 100.0% done
আমি একটি উদাহরণ অন্তর্ভুক্ত করেছি যা এটি পরীক্ষা করার জন্য চালানো যেতে পারে।
import sys
import time
def print_percent_done(index, total, bar_len=50, title='Please wait'):
'''
index is expected to be 0 based index.
0 <= index < total
'''
percent_done = (index+1)/total*100
percent_done = round(percent_done, 1)
done = round(percent_done/(100/bar_len))
togo = bar_len-done
done_str = '█'*int(done)
togo_str = '░'*int(togo)
print(f'\t⏳{title}: [{done_str}{togo_str}] {percent_done}% done', end='\r')
if round(percent_done) == 100:
print('\t✅')
r = 50
for i in range(r):
print_percent_done(i,r)
time.sleep(.02)
আমি shutil.get_terminal_size()আগ্রহী যদি এটি ব্যবহার করে টার্মিনাল প্রস্থের উপর নির্ভর করে প্রতিক্রিয়াশীল অগ্রগতি বার সহ একটি সংস্করণও রাখি ।