Python で親ディレクトリを取得する

Muhammad Waiz Khan 2023年1月30日
  1. Python で親ディレクトリを取得するには、pathlib モジュールの path.parent() メソッドを使用する
  2. os モジュールの pardir() メソッドを用いた Python での親ディレクトリの取得
  3. Python で os モジュールの dirname() メソッドを用いて親ディレクトリを取得する
Python で親ディレクトリを取得する

このチュートリアルでは、Python でパスの親ディレクトリを取得するための様々な方法を説明します。親ディレクトリとは、与えられたディレクトリやファイルよりも上位にあるディレクトリのことです。例えば、パス C:\folder\subfolder\myfile.txt の親ディレクトリは C:\folder\subfolder となります。ルートディレクトリ以外の全てのディレクトリは親ディレクトリを持っています。

Python で親ディレクトリを取得するには、pathlib モジュールの path.parent() メソッドを使用する

path.parent() メソッドはその名の通り、引数として渡されたパスの親ディレクトリを文字列の形で返します。したがって、パスの親ディレクトリを取得するには、パスの文字列を pathlib モジュールの path.parent() メソッドに渡す必要があります。

以下の例では、path.parent() を用いて Python でパスの親ディレクトリを取得する方法を示します。

from pathlib import Path

path1 = Path(r"C:\folder\subfolder\myfile.txt")
path2 = Path(r"C:\Myfile.txt")
print(path1.parent)
print(path2.parent)

出力:

C:\folder\subfolder
C:\

os モジュールの pardir() メソッドを用いた Python での親ディレクトリの取得

os.pardir は親ディレクトリを参照する定数文字列です。Windows と POSIX OS の場合は '..' であり、macOS の場合は '::' です。

与えられたパスと os.path.join() メソッドで os.pardir を組み合わせると、与えられたディレクトリの親ディレクトリを取得することができます。

以下の例では、os モジュールの os.pardirpath.join() メソッドを使ってパスの親ディレクトリを取得する方法を示します。

import os.path

path1 = r"C:\folder\subfolder\myfile.txt"
path2 = r"C:\Myfile.txt"

print(os.path.abspath(os.path.join(path1, os.pardir)))
print(os.path.abspath(os.path.join(path2, os.pardir)))

出力:

C:\folder\subfolder
C:\

上述したように、OS が Windows や POSIX の場合は os.pardir'..' に置き換えても同じ結果が得られます。

import os.path

path1 = r"C:\folder\subfolder\myfile.txt"
path2 = r"C:\Myfile.txt"

print(os.path.abspath(os.path.join(path1, "..")))
print(os.path.abspath(os.path.join(path2, "..")))

出力:

C:\folder\subfolder
C:\

Python で os モジュールの dirname() メソッドを用いて親ディレクトリを取得する

モジュールの osdirname() メソッドはパス文字列を入力として受け取り、親ディレクトリを出力として返します。

以下の例では、dirname() を用いてパスの親ディレクトリを取得する方法を示します。

import os.path

path1 = Path(r"C:\folder\subfolder\myfile.txt")
path2 = Path(r"C:\Myfile.txt")

print(os.path.dirname(path1))
print(os.path.dirname(path2))

出力:

C:\folder\subfolder
C:

関連記事 - Python Directory

関連記事 - Python Path