RSS Planet Python

Fabio Zadrozny: Verwendung (oder eigentlich Missbrauch) von Path.resolve() in Python

"- Die Methode `Path.resolve()` von pathlib löst Symlinks auf, was zu Fehlern führen kann, wenn relative Pfade verwendet werden. - `Path.resolve()` kann es schwierig machen, Dateien relativ zum ursprünglichen Pfad zu finden. - `Path.parent` sollte nicht nach dem Aufruf von `Path.resolve()` verwendet werden. - Statt `Path.resolve()` sollte `os.path.normalize(os.path.abspath(...))` verwendet werden, um Vorkommen von ".." zu entfernen und Pfade absolut zu machen. - `Path.resolve()` kann nützlich sein, um eine kanonische Darstellung von Dateien zu erstellen, aber dies ist ein seltenes Anwendungsfall. - In den meisten Fällen ist es besser, `Path.resolve()` zu vermeiden, da es eine Quelle von Fehlern sein kann. - Einige Benutzer möchten möglicherweise Symlinks in bestimmten Szenarien auflösen, aber dies ist nicht das üblichste Verhalten. - Programme können eine Flag verwenden, um Benutzern die Wahl zu lassen, ob Symlinks aufgelöst werden sollen oder nicht. - Viele Benutzer speichern ihren Quellcode nicht in Symlinks, daher ist `Path.resolve()` für sie kein Problem. - Es ist wichtig, absolute und normalisierte Pfade zu verwenden, wenn Dateien zwischen APIs übergeben werden."
favicon
pydev.blogspot.com
Fabio Zadrozny: Using (or really misusing) Path.resolve() in Python