בכל פעם שאתה מוריד קובץ או מתחיל משחק, אתה רואה אנימציה אסתטית שמתעדכנת עד להשלמתו. זהו סרגל התקדמות. סרגל התקדמות הוא אלמנט גרפי המשמש לדמיין את ההתקדמות של משימה כגון הורדה, העלאה או העברת קבצים.
ישנם שני סוגים של פסי התקדמות: נחרץ ובלתי מוגדר. סרגלי התקדמות קביעת עוקבים אחר התקדמות משימה לאורך זמן. פסי התקדמות בלתי מוגדרים פועלים בלי סוף עם אנימציה בלולאה.
אז איך אתה יכול ליצור סרגל התקדמות מוגדר בתוכנית Python CLI?
מהו מודול tqdm?
tqdm הוא מודול שמתוחזק בעיקר על ידי קספר דה קוסטה-לואיס יחד עם עשרה חברים נוספים. tqdm נגזרת מהמילה הערבית taqaddum שמשמעותה יכולה להיות "התקדמות", והיא קיצור של "אני אוהב אותך כל כך" בספרדית (te quiero demasiado).
באמצעות מודול tqdm אתה יכול ליצור סרגל התקדמות אטרקטיבי ופונקציונלי ישירות בטרמינל שלך. כדי להתקין את מודול tqdm, פתח את הטרמינל שלך והפעל:
צִפצוּף להתקין tqdm
מהו מודול הזמן?
מודול השירות הסטנדרטי של Python כולל מודול הזמן כברירת מחדל, כך שאתה לא צריך להתקין אותו. אתה יכול להשתמש בפונקציית השינה הניתנת במודול הזמן כדי להוסיף עיכוב ליישומים שלך שיעזור לדמיין את התקדמות הסרגל.
אתה יכול להשתמש במודול הזמן כדי לקבל את התאריך והשעה, לתזמן משימות ולבנות יישומים שימושיים כמו א שעון מעורר פשוט, או שעון עצר.
כיצד להוסיף סרגל התקדמות ולהתאים אותו
סרגל ההתקדמות המוגדר כברירת מחדל קל לשימוש ותוכל להתאים אותו עם מספר אפשרויות.
1. סרגל התקדמות פשוט
אתה יכול ליצור סרגל התקדמות פשוט על ידי ייבוא מחלקת tqdm ממודול tqdm ואת פונקציית השינה ממודול הזמן. השתמשו בלולאת for וחזרו על tqdm בטווח הרצוי.
הטווח יכול להיות כל דבר עד 9e9 (תשעה מיליארד). העבירו את מספר השניות לפונקציית השינה כדי להוסיף עיכוב כך שתוכלו לדמיין ולראות את סרגל ההתקדמות בפעולה.
אתה יכול ליישם סרגל התקדמות פשוט כך:
מ tqdm יְבוּא tqdm
מ זְמַן יְבוּא לִישׁוֹן
עבור i ב-tqdm (טווח (100)):
לִישׁוֹן(.1)
במקום לייבא tqdm, אתה יכול לייבא טראנג ממודול tqdm לשלב tqdm ו-range ולהעביר את הפרמטר ישירות.
מ tqdm יְבוּא מוזר
מ זְמַן יְבוּא לִישׁוֹן
עבור i in trange (100):
לִישׁוֹן(.1)
הפלט שאתה מקבל ביצירת סרגל התקדמות פשוט נראה כך:
פלט זה כולל גרסאות גרפיות וטקסטואליות של ההתקדמות, יחד עם סטטיסטיקות תזמון.
2. סרגל התקדמות עם טקסט תיאור
ניתן להוסיף תווית תיאורית לסרגל ההתקדמות כדי להסביר את מטרתו. העבר את הטקסט שברצונך להציג עטוף במירכאות כפולות בתור desc פָּרָמֶטֶר:
עבור i ב-tqdm (טווח (0, 10), desc ="התקדמות: "):
לִישׁוֹן(.4)
הפלט שאתה מקבל בעת הוספת טקסט תיאור יחד עם סרגל ההתקדמות נראה כך:
3. סרגל התקדמות עם רוחב מותאם אישית
כברירת מחדל, רוחב סרגל ההתקדמות מוגדר דינמי לגודל חלון הפלט. אתה יכול להתאים אותו לפי טעמך בעזרת ה ncols פָּרָמֶטֶר.
אתה יכול ליישם סרגל התקדמות עם רוחב מותאם אישית כמו:
עבור i ב-tqdm (טווח (0, 10), ncols = 100, desc ="התקדמות: "):
לִישׁוֹן(.1)
הפלט שאתה מקבל בהארכת רוחב סרגל ההתקדמות נראה כך:
4. סרגל התקדמות באמצעות צבע
אתה יכול להתאים אישית את הצבע של סרגל ההתקדמות באמצעות פרמטר הצבע. אתה יכול לעשות זאת בשתי דרכים:
- שם צבע: ניתן להשתמש בשם הצבע כגון ירוק, שחור, ציאן ועוד.
- קוד משושה:קוד hex הוא פורמט שבו המחשב מאחסן את הצבע. אתה יכול לציין את צבע הקסדצימלי עם hash (#) ואחריו 6 תווים בהקסדצימלי (0-9, a-f). קוד הhex #000000 מייצג שחור בעוד #ffffff מייצג לבן. על ידי שינוי עוצמת המספרים הללו, מקבלים גוונים שונים של צבעים. אתה יכול להשתמש ב כלי בחירת הצבעים של גוגל כדי לבחור ולהדביק את צבע ה-Hex Code.
אתה יכול ליישם סרגל התקדמות עם צבעים מותאמים אישית כמו:
עבור i ב-tqdm (טווח (0, 100), color="#00ffff", desc ="התקדמות: "):
לִישׁוֹן(.1)
הפלט שאתה מקבל בעת שינוי הצבע של סרגל ההתקדמות:
5. סרגל התקדמות עם מרווח מינימלי
אתה יכול ליצור סרגל התקדמות שמתקדם שמתעדכן עם מרווח מינימלי במקום הגדרת ברירת המחדל. אתה יכול להעביר מספר כמו 1.5 או 2 שישמש כמרווח בין שני עדכונים. ערך ברירת המחדל של המרווח המינימלי הוא 0.1.
אתה יכול ליישם סרגל התקדמות עם מרווח מינימלי כמו:
עבור i ב-tqdm (טווח (0, 100), מרווח קטן = 2, desc ="התקדמות: "):
לִישׁוֹן(.1)
הפלט שאתה מקבל על ידי ציון מרווח מינימלי לסרגל ההתקדמות:
6. סרגל התקדמות באמצעות תווי ASCII
אתה יכול ליצור סרגל התקדמות באמצעות תווי ASCII במקום הפסים הרגילים שאתה רואה על המסך. כדי להשתמש בתווי ASCII הגדר את ascii פרמטר לפורמט הרצוי.
אם אתה משתמש במשהו כמו 12345*, כל אחת מהעמודות של הטווח חוזרת מאחת לכוכבית ברצף. למרות שהוא מגניב וניתן להתאמה אישית, הקפד להשתמש ידידותי למשתמש בעת השימוש בו ביישומים אמיתיים.
אתה יכול ליישם סרגל התקדמות באמצעות תווי ASCII כמו:
עבור i ב-tqdm (טווח (0, 100), ascii ="12345*"):
לִישׁוֹן(.1)
הפלט שאתה משיג באמצעות תווי ASCII בסרגל ההתקדמות נראה כך:
7. סרגל התקדמות באמצעות נקודת התחלה שצוינה
במקום להתחיל סרגל התקדמות מאפס, אתה יכול להגדיר נקודת התחלה ספציפית לסרגל ההתקדמות. העבר ערך התחלתי כמו 50 ל- התחלתי פָּרָמֶטֶר.
אתה יכול ליישם סרגל התקדמות באמצעות נקודת התחלה ספציפית כמו:
עבור i ב-tqdm (טווח (0, 100), ראשוני = 50, desc ="התקדמות: "):
לִישׁוֹן(.1)
הפלט שאתה מקבל בעת הפעלת סרגל ההתקדמות בנקודה מוגדרת:
8. סרגל התקדמות עם מספר מוגדר של איטרציות
אתה יכול ליצור סרגל התקדמות שמריץ מספר מסוים של איטרציות. אם ברצונך להריץ 500 איטרציות מתוך 50,000, העבר 500 כטווח ו-50,000 כמספר הכולל של איטרציות ל- סה"כ פָּרָמֶטֶר.
אתה יכול ליישם סרגל התקדמות באמצעות מספר מסוים של איטרציות כמו:
עבור i ב-tqdm (טווח (0, 500), סך = 50000, desc ="התקדמות: "):
לִישׁוֹן(.1)
הפלט שאתה משיג באמצעות סרגל התקדמות עם מספר מוגדר של איטרציות:
יישומים של סרגל ההתקדמות
תראה פסי התקדמות במצבים שונים, כמו השמעה של נגן מדיה או הצגת השלבים באמצעות טופס מקוון.
בעוד שסרגל התקדמות נראה אסתטי, הוא עושה עבודה חשובה במתן משוב למשתמש שבהיעדרו הם היו עוזבים את האתר.