在 Python 中获取父目录

Muhammad Waiz Khan 2023年1月30日
  1. 在 Python 中使用 pathlib 模块的 path.parent() 方法获取父目录
  2. 在 Python 中使用 os 模块的 pardir() 方法获取父目录
  3. 在 Python 中使用 os 模块的 dirname() 方法获取父目录
在 Python 中获取父目录

本教程将讲解在 Python 中获取一个路径的父目录的各种方法。父目录是指高于或高于给定目录或文件的目录。例如,路径 C:\folder\subfolder\myfile.txt 的父目录是 C:\folder\subfolder。除了根目录外,每个目录都有一个父目录。

在 Python 中使用 pathlib 模块的 path.parent() 方法获取父目录

path.parent() 方法,顾名思义,就是以字符串的形式返回作为参数传递的路径的父目录。因此,要得到一个路径的父目录,我们需要将路径字符串传递给 pathlib 模块的 path.parent() 方法。

下面的示例代码演示了如何在 Python 中使用 path.parent() 来获取一个路径的父目录。

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:\

在 Python 中使用 os 模块的 pardir() 方法获取父目录

os.pardir 是指父目录的常量字符串。对于 Windows 和 POSIX 操作系统,它是'..',对于 Mac 操作系统,它是'::'

当我们在 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:\

如上所述,如果操作系统是 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() 方法获取父目录

os 模块的 dirname() 方法将路径字符串作为输入,并返回父目录作为输出。

下面的示例代码演示了如何使用 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