Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでホームディレクトリを取得する方法|os.path.expanduserとpathlibの使い方

Pythonでホームディレクトリを取得する基本の方法

Pythonでユーザーのホームディレクトリ(ホームフォルダ)のパスを取得したい場合は、標準ライブラリのosモジュールに含まれるos.path.expanduser('~')を使うのが最もシンプルで定番の方法です。

この関数は、パスの中に~(チルダ)が含まれている場合、それを実際のホームディレクトリのパスに展開してくれます。たとえば~/Documents/my_folder/のように、より長いパスの一部として使うことも可能です。また、パスに~が含まれていない場合は、渡されたパスをそのまま変更せずに返します。

os.path.expanduserの基本的な使い方

import os
print(os.path.expanduser('~'))

このコードを実行すると、実行環境に応じたホームディレクトリの絶対パスが出力されます。WindowsではC:\Users\ユーザー名、macOSやLinuxでは/home/ユーザー名/Users/ユーザー名のような形式になります。

環境変数HOMEから取得する方法

もうひとつの方法として、環境変数のHOMEを直接参照するやり方もあります。

import os
print(os.environ['HOME'])

ただし、この方法には注意点があります。HOME環境変数はmacOSやLinuxでは通常設定されていますが、Windowsでは設定されていないことが多く、存在しない場合にはKeyErrorが発生します。そのため、クロスプラットフォームで動作させたいコードでは、前述のos.path.expanduser('~')を使う方が安全です。

モダンな方法:pathlib.Path.home()

Python 3.5以降では、より直感的に書けるpathlibモジュールを使うこともおすすめです。

from pathlib import Path
print(Path.home())

Path.home()は内部でos.path.expanduserと同等の処理を行っており、OSの違いを意識せずにホームディレクトリを取得できます。戻り値がPathオブジェクトなので、そのままファイルパスの連結や操作にも便利です。

まとめ

  • 最も一般的な方法:os.path.expanduser('~')
  • 環境変数から取得:os.environ['HOME'](Windowsでは未設定の場合があるため注意)
  • 推奨されるモダンな方法:pathlib.Path.home()

用途に応じて使い分けることで、どのOSでも安定してホームディレクトリを扱えるコードを書くことができます。

  1. Python Tkinterでルートウィンドウを非表示・破棄する2つの方法

    Tkinterアプリケーションのテスト中に、デフォルトのウィンドウやフレームを一時的に隠したい、あるいは完全に閉じたいという場面に遭遇することがあります。Tkinterでは、withdraw()メソッドによる「非表示」と、destroy()メソッドによる「破棄」の2つのアプローチが用意されています。mainloop()とウィンドウのライフサイクルmainloop()は、外部イベントによってウィンドウが閉じられるまで、Tkinterアプリケーションを実行し続ける役割を担います。このメインループが動作している間、ウィンドウは画面上に表示され続けます。ウィンドウを完全に破棄(終了)したい場合は、de

  2. iPhoneでホームボタンを復活させる方法!AssistiveTouchの使い方を徹底解説

    Appleは最新のiPhoneラインナップからホームボタンを廃止しました。iPhone 12シリーズは、iPhone 11シリーズやXR、XS、Xと同様に、全面ディスプレイとFace IDを採用しています。 しかし、ホームボタンのシンプルな操作性を懐かしく感じるユーザーも少なくありません。 新しいiPhoneを使っていて、慣れ親しんだホームボタンが恋しい方に朗報です。実は、ホームボタンを「復活」させることができるのです。その方法を詳しくご紹介します。 iPhoneの画面にホームボタンを追加する方法 iOSには、画面上にソフトウェアのホームボタンを表示できるアクセシビリティ機能が標準で搭載されて