Python Tips: カレントユーザのホームディレクトリのパスを取得したい

Python でカレントユーザのホームディレクトリのパスを取得する方法をご紹介します。

Python でカレントユーザのホームディレクトリを取得するには os.path.expanduser() 関数を使うのが便利です。

import os.path

# => /Users/ユーザー名

# => /Users/ユーザー名/.bashrc


On Unix, an initial ~ is replaced by the environment variable HOME if it is set; otherwise the current user’s home directory is looked up in the password directory through the built-in module pwd. An initial ~user is looked up directly in the password directory.

On Windows, HOME and USERPROFILE will be used if set, otherwise a combination of HOMEPATH and HOMEDRIVE will be used. An initial ~user is handled by stripping the last directory component from the created user path derived above.

Unix では、先頭の ~ は、環境変数 HOME が設定されているならその値に置き換えられます。そうでなければ、現在のユーザのホームディレクトリをビルトインモジュール pwd を使ってパスワードディレクトリから探して置き換えます。先頭の ~user については、直接パスワードディレクトリから探します。

Windows では ~ だけがサポートされ、環境変数 HOME または HOMEDRIVEHOMEPATH の組み合わせで置き換えられます。