
Bild vom Autor
# Einleitung Laden…
Fortschrittsbalken machen das Warten erträglicher. Sie zeigen an, wie viel von einer Aufgabe erledigt wurde, wie viel noch übrig ist und ob eine Schleife noch läuft oder ins Stocken geraten ist. Dieses einfache visuelle Suggestions verbessert die Übersichtlichkeit bei der Ausführung lang laufender Skripte.
Fortschrittsbalken sind besonders nützlich bei der Datenverarbeitung, beim Modelltraining und bei Workflows für maschinelles Lernen, bei denen die Ausführung von Aufgaben mehrere Minuten oder sogar Stunden dauern kann. Anstatt ohne Suggestions zu warten, können Entwickler den Fortschritt in Echtzeit verfolgen und das Ausführungsverhalten besser verstehen.
In diesem Artikel untersuchen wir die sieben besten Python-Bibliotheken für Fortschrittsbalken. Jede Bibliothek enthält Beispielcode, sodass Sie ihn mit minimalem Setup schnell in Ihre Projekte integrieren können.
# 1. tqdm

tqdm ist eine der beliebtesten Python-Bibliotheken zum Hinzufügen von Fortschrittsbalken zu Schleifen und iterierbaren Workflows. Es ist leichtgewichtig, einfach zu integrieren und mit minimalen Codeänderungen sofort einsatzbereit.
Die Bibliothek passt sich automatisch an verschiedene Umgebungen an, einschließlich Terminals, Notebooks und Skripts, was sie zu einer zuverlässigen Wahl für Datenverarbeitungs- und maschinelle Lernaufgaben macht, bei denen die Transparenz des Ausführungsfortschritts wichtig ist.
Hauptmerkmale:
- Automatische Fortschrittsverfolgung für alle Iterables mit minimalen Codeänderungen
- Hohe Leistung bei sehr geringem Overhead, auch bei großen Schleifen
- Klare und informative Ausgabe, einschließlich Iterationsgeschwindigkeit und geschätzter verbleibender Zeit
Beispielcode:
# pip set up tqdm
from tqdm import tqdm
import time
information = vary(1_000)
for file in tqdm(information, desc="Cleansing information"):
time.sleep(0.002)
Ausgabe:
Cleansing information: 100%|██████████| 1000/1000 (00:02<00:00, 457.58it/s)
# 2. reich

reich ist eine moderne Python-Bibliothek, die entwickelt wurde, um optisch ansprechende und intestine lesbare Terminalausgaben zu erstellen, einschließlich erweiterter Fortschrittsbalken. Im Gegensatz zu herkömmlichen Fortschrittsbalkenbibliotheken konzentriert sich Wealthy auf die Präsentation und eignet sich daher splendid für Anwendungen, bei denen es auf Klarheit und Ästhetik ankommt, wie z. B. Entwicklertools, Dashboards und Befehlszeilenschnittstellen.
Die Fortschrittsbalken in Wealthy unterstützen Wealthy-Textual content-Formatierung, dynamische Beschreibungen und flüssige Animationen. Dies macht es besonders nützlich, wenn Sie Fortschrittsindikatoren wünschen, die sowohl informativ als auch optisch aufpoliert sind, ohne Ihrem Code komplexe Logik hinzuzufügen.
Hauptmerkmale:
- Visuell ansprechende Fortschrittsbalken mit Farben, Stil und flüssigen Animationen
- Einfache API zum Verfolgen des Fortschritts über Iterables
- Nahtlose Integration mit anderen umfangreichen Komponenten wie Tabellen, Protokollen und Panels
Beispielcode:
# pip set up wealthy
from wealthy.progress import observe
import time
endpoints = ("customers", "orders", "funds", "logs")
for api in observe(endpoints, description="Fetching APIs"):
time.sleep(0.4)
Ausgabe:
Fetching APIs ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:01
# 3. lebendiger Fortschritt

lebendiger Fortschritt ist eine Python-Bibliothek, die sich auf die Erstellung animierter und visuell ansprechender Fortschrittsbalken für Terminalanwendungen konzentriert. Es zeichnet sich durch flüssige Animationen und dynamische Indikatoren aus, die die Überwachung lang laufender Aufgaben einfacher und angenehmer machen.
Diese Bibliothek eignet sich intestine für Skripte, bei denen die Benutzererfahrung wichtig ist, z. B. Trainingsschleifen, Batch-Jobs und Befehlszeilentools. Es bietet eine versatile API, die es Entwicklern ermöglicht, Titel, Stile und Verhalten anzupassen und gleichzeitig die Implementierung unkompliziert zu halten.
Hauptmerkmale:
- Glatte animierte Fortschrittsbalken mit dynamischen Indikatoren
- Versatile Anpassung von Titeln, Stilen und Aktualisierungsverhalten
- Klare Leistungskennzahlen, einschließlich verstrichener Zeit und Verarbeitungsgeschwindigkeit
Beispielcode:
# pip set up alive-progress
from alive_progress import alive_bar
import time
epochs = 10
with alive_bar(epochs, title="Coaching mannequin") as bar:
for _ in vary(epochs):
time.sleep(0.6)
bar()
Ausgabe:
Coaching mannequin |████████████████████████████████████████| 10/10 (100%) in 6.0s (1.67/s)
# 4. Heiligenschein

Halo ist eine Python-Bibliothek zur Anzeige eleganter Spinner-Animationen im Terminal. Anstatt den Fortschritt als Prozentsatz oder Balken anzuzeigen, bietet Halo visuelle Indikatoren, die einen laufenden Prozess signalisieren, was es splendid für Aufgaben macht, bei denen der Fortschritt nicht einfach quantifiziert werden kann.
Diese Bibliothek wird häufig für Startroutinen, Netzwerkaufrufe und Hintergrundvorgänge verwendet, bei denen eine einfache Statusanzeige besser geeignet ist als ein herkömmlicher Fortschrittsbalken. Die übersichtliche API und die anpassbaren Spinner erleichtern das Hinzufügen ausgefeilter Rückmeldungen zu Befehlszeilentools.
Hauptmerkmale:
- Leichte Spinner-Animationen für unbestimmte Aufgaben
- Einfache und intuitive API mit Begin-, Erfolgs- und Fehlerstatus
- Mehrere integrierte Spinner-Stile mit anpassbarem Textual content
Beispielcode:
# pip set up halo
from halo import Halo
import time
spinner = Halo(textual content="Beginning database", spinner="line")
spinner.begin()
time.sleep(3)
spinner.succeed("Database prepared")
Ausgabe:
| Beginning database
✔ Database prepared
# 5. ipywidgets

ipywidgets ist eine Python-Bibliothek, die interaktive Benutzeroberflächenkomponenten in Jupyter-Notebooks ermöglicht, einschließlich Fortschrittsbalken, Schiebereglern, Schaltflächen und Formularen. Im Gegensatz zu terminalbasierten Bibliotheken stellt ipywidgets Fortschrittsindikatoren direkt in der Pocket book-Oberfläche dar, was es besonders nützlich für explorative Datenanalysen und interaktive Experimente macht.
Mit ipywidgets erstellte Fortschrittsbalken lassen sich nahtlos in Pocket book-Workflows integrieren, sodass Benutzer lang laufende Aufgaben überwachen können, ohne die Ausgabe zu überladen. Dies macht es zu einer guten Wahl für Experimente zum maschinellen Lernen, Parameteroptimierung und iterative Forschung in Jupyter-Umgebungen.
Hauptmerkmale:
- Natives Fortschrittsbalken-Rendering in Jupyter-Notebooks
- Interaktive UI-Komponenten, die über die Fortschrittsverfolgung hinausgehen
- Fein abgestimmte Kontrolle über Fortschrittsaktualisierungen und Anzeigeverhalten
Beispielcode:
# pip set up ipywidgets
import ipywidgets as widgets
from IPython.show import show
import time
progress = widgets.IntProgress(worth=0, max=5, description="Experiments")
show(progress)
for _ in vary(5):
time.sleep(1)
progress.worth += 1
Ausgabe:

# 6. Fortschritt

Fortschritt ist eine leichtgewichtige Python-Bibliothek, die einfache und klassische Fortschrittsbalken für terminalbasierte Anwendungen bereitstellt. Der Schwerpunkt liegt auf Minimalismus und Lesbarkeit, was es zu einer guten Wahl für Skripte macht, bei denen Klarheit wichtiger ist als fortgeschrittener Stil oder Animationen.
Die Bibliothek bietet mehrere Fortschrittsindikatoren, darunter Balken, Spinner und Zähler, sodass Entwickler das Format auswählen können, das am besten zu ihrem Anwendungsfall passt. Seine unkomplizierte API erleichtert die Integration in bestehende Skripte mit minimalen Änderungen.
Hauptmerkmale:
- Einfache und übersichtliche Terminal-Fortschrittsbalken
- Mehrere Fortschrittsanzeigen wie Balken und Spinner
- Minimale Abhängigkeiten und einfache Integration
Beispielcode:
# pip set up progress
from progress.bar import Bar
import time
information = ("a.csv", "b.csv", "c.csv")
bar = Bar("Importing information", max=len(information))
for _ in information:
time.sleep(0.7)
bar.subsequent()
bar.end()
Ausgabe:
Importing information ████████████████████████████████ 100%
# 7. Klicken Sie

klicken ist eine Python-Bibliothek zum Erstellen von Befehlszeilenschnittstellen, die integrierte Unterstützung für Fortschrittsbalken bietet. Im Gegensatz zu eigenständigen Fortschrittsbalkenbibliotheken integriert Click on die Fortschrittsverfolgung direkt in CLI-Befehle und eignet sich daher splendid für Instruments, die über das Terminal verteilt und verwendet werden.
Der von Click on bereitgestellte Fortschrittsbalken ist einfach, zuverlässig und so konzipiert, dass er nahtlos mit dem Befehlssystem zusammenarbeitet. Dies ist besonders nützlich beim Erstellen von Datenpipelines, Automatisierungsskripten oder Entwicklertools, bei denen Fortschrittsrückmeldungen Teil des Befehlsausführungsablaufs sein sollten.
Hauptmerkmale:
- Integrierte Fortschrittsbalken, die speziell für Befehlszeilenschnittstellen entwickelt wurden
- Nahtlose Integration mit Click on-Command-Dekoratoren und -Optionen
- Zuverlässige Ausgabeverarbeitung für terminalbasierte Instruments
Beispielcode:
# pip set up click on
import time
import click on
@click on.command()
def important():
gadgets = listing(vary(30))
# Progressbar wraps the iterable
with click on.progressbar(gadgets, label="Processing gadgets") as bar:
for merchandise in bar:
# Simulate work
time.sleep(0.05)
click on.echo("Carried out!")
if __name__ == "__main__":
important()
Ausgabe:
Processing gadgets (####################################) 100%
Carried out!
# Vergleich der Python-Fortschrittsbalkenbibliotheken
Die folgende Tabelle bietet einen einfachen Vergleich der in diesem Artikel behandelten Python-Fortschrittsbalkenbibliotheken und konzentriert sich dabei darauf, wo sie am besten funktionieren und wie sie normalerweise verwendet werden.
| Bibliothek | Bester Anwendungsfall | Umweltunterstützung | Stil |
|---|---|---|---|
| tqdm | Datenverarbeitung und ML-Schleifen | Terminal, Jupyter-Pocket book | Einfach und informativ |
| reich | Ausgefeilte CLI-Instruments | Terminal, Jupyter-Pocket book | Bunt und gestylt |
| lebendiger Fortschritt | Animierte Langzeitaufgaben | Terminal, eingeschränkte Pocket book-Unterstützung | Animiert und dynamisch |
| Halo | Unbestimmte Aufgaben | Nur Terminal | Spinnerbasiert |
| ipywidgets | Interaktive Experimente | Nur Jupyter Pocket book | Native Pocket book-Benutzeroberfläche |
| Fortschritt | Einfache Skripte und Batch-Jobs | Nur Terminal | Minimal und klassisch |
| klicken | Befehlszeilentools | Terminal (CLI) | Funktionale CLI-Ausgabe |
Abid Ali Awan (@1abidaliawan) ist ein zertifizierter Datenwissenschaftler, der gerne Modelle für maschinelles Lernen erstellt. Derzeit konzentriert er sich auf die Erstellung von Inhalten und das Schreiben technischer Blogs zu maschinellem Lernen und Datenwissenschaftstechnologien. Abid verfügt über einen Grasp-Abschluss in Technologiemanagement und einen Bachelor-Abschluss in Telekommunikationstechnik. Seine Imaginative and prescient ist es, ein KI-Produkt mithilfe eines graphischen neuronalen Netzwerks für Schüler mit psychischen Erkrankungen zu entwickeln.
