Python中获取路径/文件的父目录

本教程将讲解在 Python 中获取一个路径的父目录的各种方法。父目录是指高于或高于给定目录或文件的目录。

例如,路径 C:\folder\subfolder\myfile.txt 的父目录是 C:\folder\subfolder。除了根目录外,每个目录都有一个父目录。

1、使用 pathlib 模块的 path.parent() 方法获取父目录

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

我们需要将路径字符串传递给 pathlib 模块的 path.parent() 方法。

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

1 from pathlib import Path
2 
3 path1 = Path(r"C:\folder\subfolder\myfile.txt")
4 path2 = Path(r"C:\Myfile.txt")
5 print(path1.parent)
6 print(path2.parent)

输出:

C:\folder\subfolder
C:\

2、使用 os 模块的 pardir() 方法获取父目录

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

当我们在 os.path.join() 方法中把给定的路径和 os.pardir 结合起来,我们就可以得到给定目录的父目录。

下面的示例代码演示了如何使用 os 模块的 os.pardir 和 path.join() 方法来获取路径的父目录。

1 import os.path
2 
3 path1 = r"C:\folder\subfolder\myfile.txt"
4 path2 = r"C:\Myfile.txt"
5 
6 print(os.path.abspath(os.path.join(path1, os.pardir)))
7 print(os.path.abspath(os.path.join(path2, os.pardir)))

输出:

C:\folder\subfolder
C:\

如上所述,如果操作系统是 Windows 或 POSIX,如果我们将 os.pardir 替换为'..',我们也可以得到同样的结果。

1 import os.path
2 
3 path1 = r"C:\folder\subfolder\myfile.txt"
4 path2 = r"C:\Myfile.txt"
5 
6 print(os.path.abspath(os.path.join(path1, '..')))
7 print(os.path.abspath(os.path.join(path2, '..')))

输出:

C:\folder\subfolder
C:\

3、使用 os 模块的 dirname() 方法获取父目录

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

下面的示例代码演示了如何使用 dirname() 方法获取路径的父目录。

1 import os.path
2 
3 path1 = Path(r"C:\folder\subfolder\myfile.txt")
4 path2 = Path(r"C:\Myfile.txt")
5 
6 print(os.path.dirname(path1))
7 print(os.path.dirname(path2))

输出:

C:\folder\subfolder
C:

 

声明:本文章来自于互联网,仅限个人记录使用。

 

posted @ 2023-06-20 11:11  hjjsunli  阅读(2536)  评论(0编辑  收藏  举报