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

Pythonで親ディレクトリを取得する方法【pathlibとos.pathの使い方】

Pythonでファイルパスから親ディレクトリ(上位フォルダ)を取得したい場面はよくあります。この記事では、Python 3.4以降で使えるpathlibモジュールを使ったモダンな方法と、古いバージョンでも動作するos.pathモジュールを使った方法の2つを紹介します。

方法1:pathlibモジュールを使う(Python 3.4以降)

Python 3.4以降では、pathlibモジュールのPath.parent属性を使うことで、直感的かつ簡潔に親ディレクトリを取得できます。現在のPython開発では、こちらの方法が推奨されています。

コード例

from pathlib import Path
print(Path('/home/username').parent)

実行結果

上記のコードを実行すると、以下の出力が得られます。

/home

さらに、.parentを連続して指定することで、2階層以上上のディレクトリも簡単に取得できます(例:Path('/home/username').parent.parent)。

方法2:os.pathモジュールを使う(旧バージョン対応)

古いバージョンのPythonを使用している場合は、os.path.join()でパスに「..」(親ディレクトリを表す記号)を連結し、その結果をos.path.abspath()で絶対パスに変換する方法が使えます。

コード例

import os
print(os.path.abspath(os.path.join('/home/username', '..')))

実行結果

上記のコードを実行すると、以下の出力が得られます。

/home

まとめ

  • Python 3.4以降:読みやすく安全なpathlib.Path().parentの使用を推奨
  • 旧バージョンos.path.abspath(os.path.join(パス, '..'))で代用可能

新しいプロジェクトでは、オブジェクト指向で扱いやすいpathlibを採用することで、コードの可読性と保守性が向上します。

  1. PythonとMatplotlibで点群の中心座標を取得・可視化する方法

    一連のポイント(点群)の中心を求めるには、リスト内のすべての要素を合計し、その合計値をリストの要素数(長さ)で割ります。この計算結果が、対応する各軸における中心座標となります。これはいわゆる「平均値」であり、点群の重心を表します。実装の手順データポイントとして x 座標と y 座標の2つのリストを作成します。plot() メソッドを使って、x および y のデータポイントをプロットします。x と y の各リストから、sum() と len() を組み合わせて中心座標のタプルを算出します。算出した中心点をグラフ上にプロットします。annotate() メソッドを使い、中心点に「center」とい

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

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