צור סרגל התקדמות ב-Python CLI

צור סרגל התקדמות ב-Python CLI

בכל פעם שאתה מוריד קובץ או מתחיל משחק, אתה רואה אנימציה אסתטית שמתעדכנת עד להשלמתו. זהו סרגל התקדמות. סרגל התקדמות הוא אלמנט גרפי המשמש לדמיין את ההתקדמות של משימה כגון הורדה, העלאה או העברת קבצים.





ישנם שני סוגים של פסי התקדמות: נחרץ ובלתי מוגדר. סרגלי התקדמות קביעת עוקבים אחר התקדמות משימה לאורך זמן. פסי התקדמות בלתי מוגדרים פועלים בלי סוף עם אנימציה בלולאה.





איפור של סרטון היום

אז איך אתה יכול ליצור סרגל התקדמות מוגדר בתוכנית Python CLI?





מהו מודול tqdm?

tqdm הוא מודול שמתוחזק בעיקר על ידי קספר דה קוסטה-לואיס יחד עם עשרה חברים נוספים. tqdm נגזרת מהמילה הערבית taqaddum שמשמעותה יכולה להיות 'התקדמות', והיא קיצור של 'אני אוהב אותך כל כך' בספרדית (te quiero demasiado).

באמצעות מודול tqdm אתה יכול ליצור סרגל התקדמות אטרקטיבי ופונקציונלי ישירות בטרמינל שלך. כדי להתקין את מודול tqdm, פתח את הטרמינל שלך והפעל:



pip install tqdm

מהו מודול הזמן?

מודול השירות הסטנדרטי של Python כולל מודול הזמן כברירת מחדל, כך שאתה לא צריך להתקין אותו. אתה יכול להשתמש בפונקציית השינה הניתנת במודול הזמן כדי להוסיף עיכוב ליישומים שלך שיעזור לדמיין את התקדמות הסרגל.

אתה יכול להשתמש במודול הזמן כדי לקבל את התאריך והשעה, לתזמן משימות ולבנות יישומים שימושיים כמו א שעון מעורר פשוט , או שעון עצר.





כיצד להוסיף סרגל התקדמות ולהתאים אותו

סרגל ההתקדמות המוגדר כברירת מחדל קל לשימוש ותוכל להתאים אותו עם מספר אפשרויות.

1. סרגל התקדמות פשוט

אתה יכול ליצור סרגל התקדמות פשוט על ידי ייבוא ​​מחלקת tqdm ממודול tqdm ואת פונקציית השינה ממודול הזמן. השתמשו בלולאת for וחזרו על tqdm בטווח הרצוי.





הטווח יכול להיות כל דבר עד 9e9 (תשעה מיליארד). העבירו את מספר השניות לפונקציית השינה כדי להוסיף עיכוב כך שתוכלו לדמיין ולראות את סרגל ההתקדמות בפעולה.

אתה יכול ליישם סרגל התקדמות פשוט כך:

from tqdm import tqdm 
from time import sleep

for i in tqdm(range(100)):
sleep(.1)

במקום לייבא tqdm, אתה יכול לייבא טראנג ממודול tqdm לשלב tqdm ו-range ולהעביר את הפרמטר ישירות.

from tqdm import trange 
from time import sleep

for i in trange(100):
sleep(.1)

הפלט שאתה מקבל ביצירת סרגל התקדמות פשוט נראה כך:

  סרגל התקדמות פשוט

פלט זה כולל גרסאות גרפיות וטקסטואליות של ההתקדמות, יחד עם סטטיסטיקות תזמון.

2. סרגל התקדמות עם טקסט תיאור

ניתן להוסיף תווית תיאורית לסרגל ההתקדמות כדי להסביר את מטרתו. העבר את הטקסט שברצונך להציג עטוף במירכאות כפולות בתור desc פָּרָמֶטֶר:

for i in tqdm(range(0, 10), desc ="Progress: "): 
sleep(.4)

הפלט שאתה מקבל בעת הוספת טקסט תיאור יחד עם סרגל ההתקדמות נראה כך:

  סרגל התקדמות עם טקסט

3. סרגל התקדמות עם רוחב מותאם אישית

כברירת מחדל, רוחב סרגל ההתקדמות מוגדר דינמי לגודל חלון הפלט. אתה יכול להתאים אותו לפי טעמך בעזרת ה ncols פָּרָמֶטֶר.

אתה יכול ליישם סרגל התקדמות עם רוחב מותאם אישית כמו:

for i in tqdm(range(0, 10), ncols = 100, desc ="Progress: "): 
sleep(.1)

הפלט שאתה מקבל בהארכת רוחב סרגל ההתקדמות נראה כך:

  סרגל התקדמות עם תיאור ו-ncols

4. סרגל התקדמות באמצעות צבע

אתה יכול להתאים אישית את הצבע של סרגל ההתקדמות באמצעות פרמטר הצבע. אתה יכול לעשות זאת בשתי דרכים:

  1. שם צבע: ניתן להשתמש בשם הצבע כגון ירוק, שחור, ציאן ועוד.
  2. קוד משושה: קוד hex הוא פורמט שבו המחשב מאחסן את הצבע. אתה יכול לציין את צבע הקסדצימלי עם hash (#) ואחריו 6 תווים בהקסדצימלי (0-9, a-f). קוד הhex #000000 מייצג שחור בעוד #ffffff מייצג לבן. על ידי שינוי עוצמת המספרים הללו, מקבלים גוונים שונים של צבעים. אתה יכול להשתמש ב כלי בחירת הצבעים של גוגל כדי לבחור ולהדביק את צבע ה-Hex Code.

אתה יכול ליישם סרגל התקדמות עם צבעים מותאמים אישית כמו:

for i in tqdm(range(0, 100), colour="#00ffff", desc ="Progress: "): 
sleep(.1)

הפלט שאתה מקבל בעת שינוי הצבע של סרגל ההתקדמות:

  סרגל התקדמות עם צבע

5. סרגל התקדמות עם מרווח מינימלי

אתה יכול ליצור סרגל התקדמות שמתקדם שמתעדכן עם מרווח מינימלי במקום הגדרת ברירת המחדל. אתה יכול להעביר מספר כמו 1.5 או 2 שישמש כמרווח בין שני עדכונים. ערך ברירת המחדל של המרווח המינימלי הוא 0.1.

אתה יכול ליישם סרגל התקדמות עם מרווח מינימלי כמו:

for i in tqdm(range(0, 100), mininterval = 2, desc ="Progress: "): 
sleep(.1)

הפלט שאתה מקבל על ידי ציון מרווח מינימלי לסרגל ההתקדמות:

  סרגל התקדמות עם מרווח מינימלי

6. סרגל התקדמות באמצעות תווי ASCII

אתה יכול ליצור סרגל התקדמות באמצעות תווי ASCII במקום הפסים הרגילים שאתה רואה על המסך. כדי להשתמש בתווי ASCII הגדר את ascii פרמטר לפורמט הרצוי.

אם אתה משתמש במשהו כמו 12345* , כל אחת מהעמודות של הטווח חוזרת מאחת לכוכבית ברצף. למרות שהוא מגניב וניתן להתאמה אישית, הקפד להשתמש ידידותי למשתמש בעת השימוש בו ביישומים אמיתיים.

אתה יכול ליישם סרגל התקדמות באמצעות תווי ASCII כמו:

for i in tqdm(range(0, 100), ascii ="12345*"): 
sleep(.1)

הפלט שאתה משיג באמצעות תווי ASCII בסרגל ההתקדמות נראה כך:

כיצד להסיר מגן מסך מפלסטיק
  סרגל התקדמות עם תווי ASCII

7. סרגל התקדמות באמצעות נקודת התחלה שצוינה

במקום להתחיל סרגל התקדמות מאפס, אתה יכול להגדיר נקודת התחלה ספציפית לסרגל ההתקדמות. העבר ערך התחלתי כמו 50 ל- התחלתי פָּרָמֶטֶר.

אתה יכול ליישם סרגל התקדמות באמצעות נקודת התחלה ספציפית כמו:

for i in tqdm(range(0, 100), initial = 50, desc ="Progress: "): 
sleep(.1)

הפלט שאתה מקבל בעת הפעלת סרגל ההתקדמות בנקודה מוגדרת:

  סרגל התקדמות עם פרמטר ראשוני

8. סרגל התקדמות עם מספר מוגדר של איטרציות

אתה יכול ליצור סרגל התקדמות שמריץ מספר מסוים של איטרציות. אם ברצונך להריץ 500 איטרציות מתוך 50,000, העבר 500 כטווח ו-50,000 כמספר הכולל של איטרציות ל- סך הכל פָּרָמֶטֶר.

אתה יכול ליישם סרגל התקדמות באמצעות מספר מסוים של איטרציות כמו:

for i in tqdm(range(0, 500), total = 50000, desc ="Progress: "): 
sleep(.1)

הפלט שאתה משיג באמצעות סרגל התקדמות עם מספר מוגדר של איטרציות:

  סרגל התקדמות עם מספר מוגדר של איטרציות

יישומים של סרגל ההתקדמות

תראה פסי התקדמות במצבים שונים, כמו השמעה של נגן מדיה או הצגת השלבים באמצעות טופס מקוון.

בעוד שסרגל התקדמות נראה אסתטי, הוא עושה עבודה חשובה במתן משוב למשתמש שבהיעדרו הם היו עוזבים את האתר.