1. ホーム
  2. python

[解決済み] pathlib.Pathオブジェクトの絶対パスを取得するには?

2022-05-15 23:42:52

質問

パスオブジェクトを pathlib のようなモジュールです。

p = pathlib.Path('file.txt')

p オブジェクトはファイルシステム上のファイルを指すことになります。 p.read_text() .

の絶対パスを取得するにはどうしたらよいでしょうか。 p オブジェクトの絶対パスを文字列で取得できますか?

を使うことができるようです。 os.path.abspath(p) を使うと絶対パスが得られます。 os.path メソッドを使うのは厄介です。 pathlib の代わりとなるべきものだからです。 os.path .

どのように解決するのですか?

あなたが探しているのは、メソッド .absolute というメソッドを探しているのだと思います。

>>> print(p.absolute.__doc__)
Return an absolute version of this path.  This function works
        even if the path doesn't point to anything.

        No normalization is done, i.e. all '.' and '..' will be kept along.
        Use resolve() to get the canonical path to a file.

私のシステム上のテストファイルでは、これが返されます。

>>> p = pathlib.Path('testfile')
>>> p.absolute()
PosixPath('/home/jim/testfile')

このメソッド は新しいようです。 に追加されたもので、まだ文書化されていません。 PathPath を継承しているオブジェクトです。

これを文書化するための課題を作成しました。 .