Pylint in Neovim - Korrekte Importe finden

Mein Problem Ich habe Pylint direkt in Neovim (mithilfe von Mason) installiert, direkt von Neovim gemanaged. Dadurch muss ich mir keine Gedanken machen ob mein Tool eh da ist, wenn ich zu einem anderen Rechner (mit meinem Setup!) wechsle. Damit entsteht aber in Python ein Problem: Pylint sucht nach Packages die ich importieren darf in der virtuellen Umgebung in der Pylint installiert ist. Jetzt habe ich typischerweise eine virtuelle Umgebung pro Projekt, aber Pylint wird ja von Mason gemanaged und lebt in einer anderen virtuellen Umgebung. ...

November 7, 2025 · 1 Minute · 132 Wörter · Chris Pratl

Ein verschachteltes Dictionary in Python managen (bzw. leeren)

Wir sichern Konfigurationen. Gehen wir für jetzt davon aus, dass wir mit Shops arbeiten und Preise für verschiedene Produkte pro Shop sichern möchten. Wir müssen aber einige Dinge berücksichtigen1: Wir haben mehrere Länder zu beachten. Jedes Land hat verschiedene Standorte. Pro Standort haben wir viele Artikel. Den Artikel könnten wir noch in verschiedenen Größen haben. Schlussendlich habe ich pro Größe einen Preis. Gehen wir davon aus, dass wir das alles in einem Dictionary sichern. Wenn die Daten nicht zu groß sind, klappt das gut - und wir können alles zusammen leicht in einem verschachtelten Dictionary sichern, zum Beispiel so: ...

November 1, 2025 · 5 Minuten · 906 Wörter · Chris Pratl

Das Passwort aus einem pdf entfernen - Python Version

Ich hatte einen Node-Red Job der das konnte, jetzt wurde dieser Job nach Python migriert.

Oktober 20, 2025 · 3 Minuten · 475 Wörter · Chris Pratl

Pyenv als Manager für virtuelle Umgebungen aufsetzen

Ich habe gelernt wie ich PyEnv nutze, und möchte die wichtigsten Dinge aufschreiben.

Oktober 12, 2025 · 3 Minuten · 487 Wörter · Chris Pratl

Kaufmännisches Runden in Python

Ich habe gelernt, dass Python nicht kaufmännisch rundet! Was ist kaufmännisches Runden? Für die meisten Zahlen ist klar, wohin sie gerundet werden. Es gibt allerdings Spezialfälle - insbesondere: Wenn ich $0.5$ runde, wird das $0$ oder $1$? Kaufmännisches Runden löst das Problem mit der Regel “Weg von Null”, daher: Aufrunden bei positiven Nummern, abrunden bei negativen Nummern. Für Mathematiker dürfte das genügen, für alle anderen gibt es hier noch Beispiele1: ...

September 30, 2025 · 2 Minuten · 366 Wörter · Chris Pratl

Unintuitive Zeit-Deltas in Python

Wir starten mit folgendem Code-Snippet: 1 2 3 4 5 6 7 8 9 10 >>> import datetime as dt >>> later_date = dt.datetime.now().replace(hour=18, minute=39, second=59, microsecond=0) >>> earlier_date = later_date - dt.timedelta(days=1, hours=5, minutes=7, seconds=20) >>> later_date datetime.datetime(2025, 8, 31, 18, 39, 59) >>> earlier_date # TODO: Replace date with the publish date minus 1 day datetime.datetime(2025, 8, 30, 13, 32, 39) Die offensichtliche Richtung Ich möchte die Differenz der beiden Zeiten haben, also das Delta dazwischen. Das größere minus das kleinere Datum ergibt genau das was ich erwarte: ...

August 31, 2025 · 2 Minuten · 311 Wörter · Chris Pratl

Testen ob ein String eine URL ist

Ich möchte feststellen, ob ein String eine URL ist, und mache das per regulärer Expression.

Juli 9, 2024 · 2 Minuten · 369 Wörter · Chris Pratl

Über eine Python Azure Funktion Daten aus einem Azure Storage Account Blob ziehen

Wie ich Daten aus einem JSON Dokument aus einem Azure (Blob) Storage Account ziehe, und diese in einer Azure Funktion nutze.

September 11, 2023 · 1 Minute · 153 Wörter · Chris Pratl

Den neuen Walrus-Operator in einer List-Comprehension verwenden

Die Challenge Ich möchte eine neue Liste aus bereits existierenden Daten generieren. Dabei sollen einerseits komplexe Berechnungen auf den Daten passieren, andererseits möchte ich das Ergebnis noch filtern. Beachte: Mit komplexen Berechnungen meine ich Berechnungen, die nicht im Rahmen einer List Comprehension leicht möglich sind. Ohne List Comprehensions 1 2 3 4 5 6 7 8 9 10 11 def compute(element): ... def condition(computed) -> bool: ... old_data = ... new_data = [] for element in old_data: computed = compute(element) if condition(computed): new_data.append(computed) Das geht natürlich, aber das können wir besser. ...

April 5, 2023 · 2 Minuten · 317 Wörter · Chris Pratl