ホームディレクトリを取得するクロスプラットフォームの方法は何ですか? 質問する

ホームディレクトリを取得するクロスプラットフォームの方法は何ですか? 質問する

現在ログオンしているユーザーのホーム ディレクトリの場所を取得する必要があります。現在、Linux では以下を使用しています。

os.getenv("HOME")

ただし、これは Windows では機能しません。これを行う正しいクロスプラットフォームの方法は何ですか?

ベストアンサー1

使いたいos.path.expanduser
これにより、すべてのプラットフォームで動作することが保証されます

from os.path import expanduser
home = expanduser("~")

Python 3.5以降を使っている場合はpathlib.Path.home():

from pathlib import Path
home = str(Path.home())

しかし、通常は文字列に変換しない方が良いでしょうPath.home()。次のように使用する方が自然です。

with open(Path.home() / ".ssh" / "known_hosts") as f:
    lines = f.readlines()

おすすめ記事