RSS惑星Python

ファビオ・ザドロズニー:PythonでPath.resolve()を使用(または誤って使用)する

- `Path.resolve()`はシンボリックリンクを解決するため、相対パスで作業する際にバグの原因となる可能性があります。 - `Path.resolve()`は、元のパスからのファイルの検索を困難にする可能性があります。 - `Path.resolve()`を呼んだ後は、`Path.parent`を使用してはいけません。 - 相対パスで作業する場合、`Path.resolve()`の代わりに`os.path.normalize(os.path.abspath(...))`を使用して、".."の発生を削除し、パスを絶対化することができます。 - `Path.resolve()`は、ファイルの正規表現を作成するために有用である可能性がありますが、これは稀なユースケースです。 - 通常、バグの原因となる可能性があるため、`Path.resolve()`の使用は避けるべきです。 - 一部のユーザーは特定のシナリオでシンボリックリンクを解決したいと考えているかもしれませんが、これは最も一般的な動作ではありません。 - プログラムは、ユーザーがシンボリックリンクを解決するかどうかを選択できるようにフラグを使用できます。 - 多くのユーザーはソースコードをシンボリックリンクに配置していないため、`Path.resolve()`は彼らにとって問題ではありません。 - API間でファイルを渡す際には、絶対化された正規化されたパスを使用することが重要です。
favicon
pydev.blogspot.com
Fabio Zadrozny: Using (or really misusing) Path.resolve() in Python
Create attached notes ...