Ablaufschema: Eine .py-Datei wird von Python geprüft. Existiert eine passende .pyc-Datei im Ordner __pycache__, wird sie direkt ausgeführt. Sonst wird der Programmtext in Bytecode übersetzt, als .pyc gespeichert und dann ausgeführt.

Python-Cache

Der Python-Cache ist ein Zwischenspeicher, in dem die Programmiersprache Python bereits Ausgerechnetes ablegt, um es beim nächsten Mal nicht erneut erledigen zu müssen. Gemeint sind damit meist die automatisch angelegten Dateien im Ordner __pycache__, teils auch selbst gebaute Zwischenspeicher innerhalb eines Programms.

Python ist eine weit verbreitete Programmiersprache. Sie wird besonders oft für Datenauswertung und für Programme im Bereich der künstlichen Intelligenz benutzt. Ein Cache ist ganz allgemein ein Zwischenspeicher: dort liegt ein Ergebnis bereit, das schon einmal berechnet wurde. Beim nächsten Mal holt das Programm das Ergebnis einfach heraus, statt es neu auszurechnen. Der Begriff Python-Cache meint zwei Dinge, die man auseinanderhalten sollte. Erstens legt Python selbst automatisch übersetzte Programmdateien in einem Ordner namens __pycache__ ab. Zweitens bauen Entwickler in ihre eigenen Programme Zwischenspeicher ein, damit teure Rechenschritte nicht ständig wiederholt werden.

Was der Zwischenspeicher an Rechenzeit spart

Rechenzeit kostet Geld und Strom. Das gilt besonders dort, wo dieselbe Aufgabe millionenfach anfällt. Ein Cache ist die einfachste Methode, diese Wiederholungen loszuwerden. Er macht ein Programm nicht klüger, aber oft um ein Vielfaches schneller.

Ein Beispiel aus dem Alltag von Entwicklern: Ein Programm fragt für jeden Nutzer denselben Wechselkurs bei einem fremden Server ab. Jede Abfrage dauert vielleicht 200 Millisekunden. Speichert man den Kurs eine Minute lang zwischen, sinkt die Zahl der Abfragen von tausenden auf eine. Der Server auf der Gegenseite wird entlastet, die eigene Anwendung antwortet spürbar schneller.

Auch der automatische Cache von Python selbst spart messbar Zeit. Ohne ihn müsste Python bei jedem Programmstart alle Dateien erneut übersetzen. Bei großen Projekten mit hunderten Dateien macht das aus einem schnellen Start eine spürbare Wartezeit. Genau deshalb ist dieser Mechanismus standardmäßig eingeschaltet.

Von der Quelldatei zur .pyc-Datei

Der Programmtext, den ein Mensch schreibt, steht in Dateien mit der Endung .py. Der Computer kann diesen Text nicht direkt ausführen. Python übersetzt ihn deshalb zuerst in eine kompaktere Zwischenform, den sogenannten Bytecode. Diesen Bytecode legt Python als Datei mit der Endung .pyc im Ordner __pycache__ ab.

Beim nächsten Start prüft Python, ob sich die Originaldatei geändert hat. Dafür vergleicht es den Zeitstempel und die Dateigröße. Passt alles, wird die fertige .pyc-Datei benutzt und der Übersetzungsschritt entfällt. Hat sich der Programmtext geändert, wird neu übersetzt und der Cache aktualisiert. Man muss diesen Ordner also normalerweise nie anfassen.

Der zweite Fall, der selbstgebaute Cache, funktioniert anders. Hier hinterlegt das Programm Paare aus Frage und Antwort in einer Tabelle im Arbeitsspeicher. Kommt dieselbe Frage noch einmal, wird die gespeicherte Antwort zurückgegeben. Python bringt dafür ein fertiges Werkzeug mit, das man mit einer einzigen Zeile über eine Funktion setzt. Wichtig ist die Frage, wann ein Eintrag ungültig wird: Ein Wechselkurs von gestern ist schlicht falsch. Dieses Problem heißt Cache-Invalidierung und gilt als eines der klassisch schwierigen Themen in der Softwareentwicklung.

Wo der Begriff in Projekten und Meldungen auftaucht

Wer selbst mit Python arbeitet, stolpert früh über den Ordner __pycache__. Er erscheint von allein neben den eigenen Dateien und irritiert Anfänger regelmäßig. In der Praxis schließt man ihn von der Versionsverwaltung aus, also von dem System, das alle Änderungen am Programmtext festhält. Der Inhalt lässt sich jederzeit neu erzeugen und gehört daher nicht ins Projektarchiv.

In Meldungen über KI-Systeme geht es meist um die zweite Bedeutung. Anbieter von Sprachmodellen werben etwa mit einem Cache für wiederkehrende Textbausteine. Wird derselbe lange Anweisungstext immer wieder mitgeschickt, muss er nicht jedes Mal neu verarbeitet werden. Das senkt Kosten und Antwortzeiten deutlich, und die Preislisten weisen zwischengespeicherte Anfragen separat aus.

Ein typischer Irrtum ist, den Python-Cache für eine Fehlerquelle zu halten. Veraltete .pyc-Dateien verursachen heute praktisch keine Probleme mehr, weil die Prüfung zuverlässig arbeitet. Wenn ein Programm sich seltsam verhält, liegt es fast immer am eigenen Code. Der Rat, einfach mal den Cache zu löschen, hilft daher seltener, als viele Forenbeiträge behaupten.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.