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でも安定してホームディレクトリを扱えるコードを書くことができます。
-
Python Tkinterでルートウィンドウを非表示・破棄する2つの方法
Tkinterアプリケーションのテスト中に、デフォルトのウィンドウやフレームを一時的に隠したい、あるいは完全に閉じたいという場面に遭遇することがあります。Tkinterでは、withdraw()メソッドによる「非表示」と、destroy()メソッドによる「破棄」の2つのアプローチが用意されています。mainloop()とウィンドウのライフサイクルmainloop()は、外部イベントによってウィンドウが閉じられるまで、Tkinterアプリケーションを実行し続ける役割を担います。このメインループが動作している間、ウィンドウは画面上に表示され続けます。ウィンドウを完全に破棄(終了)したい場合は、de
-
iPhoneでホームボタンを復活させる方法!AssistiveTouchの使い方を徹底解説
Appleは最新のiPhoneラインナップからホームボタンを廃止しました。iPhone 12シリーズは、iPhone 11シリーズやXR、XS、Xと同様に、全面ディスプレイとFace IDを採用しています。 しかし、ホームボタンのシンプルな操作性を懐かしく感じるユーザーも少なくありません。 新しいiPhoneを使っていて、慣れ親しんだホームボタンが恋しい方に朗報です。実は、ホームボタンを「復活」させることができるのです。その方法を詳しくご紹介します。 iPhoneの画面にホームボタンを追加する方法 iOSには、画面上にソフトウェアのホームボタンを表示できるアクセシビリティ機能が標準で搭載されて