首页 > 编程语言 >Python中获取路径/文件的父目录

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

时间:2023-06-20 11:24:30浏览次数:63  
标签:subfolder Python 路径 path folder txt os 目录

本教程将讲解在 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:

 

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

 

标签:subfolder,Python,路径,path,folder,txt,os,目录
From: https://www.cnblogs.com/mili0601/p/17493104.html

相关文章

  • wxpython使用matplotlib.pyplot绘制GUI嵌入式统计图
    在使用wxpython编写GUI时,如果需要在GUI上显示统计图,这里就可以用到matplotlib.pyplot;一、首先就是导入matplotlib.pyplot模块frommatplotlib.backends.backend_wxaggimportFigureCanvasWxAggasFigureCanvasimportmatplotlib.pyplotasplt然后就需要一个容器,可以理......
  • Python中的字符串分割技巧:split方法的妙用
    Python是一种广泛使用的编程语言,提供了许多强大的字符串处理功能。其中,split方法是一项常用的技术,它可以将字符串按照指定的分隔符进行切割,使得处理文本数据变得更加简洁和高效。本文将介绍split方法的使用方法和几个实用的应用场景,帮助读者更好地掌握这一技巧。split方法的基本......
  • python爬虫学习之定制请求头
    1.在Chrome浏览器中点击右键选择“检查”命令;2.打开后选择Network;3.按下ctrl+r,在其中找到需要请求的网站,单击后选择Headers;4.得到请求头信息为:Host:www.baidu.comReferer:https://www.baidu.com/?tn=98012088_2_dg&ch=7User-Agent:Mozilla/5.0(WindowsNT10.0;WOW64)A......
  • Python学习总结之三(if语句)
    1.其实Python和C语言中的if语句是极相似的,因为if语句的职能便是判断,区别如下:(1).Python(无括号,有冒号且缩进):ifcar=='byd':print(car.upper())(2).C(有括号,无冒号且缩进无意义):if(car=="byd")printf("%s",car);2.检查是否不相等:将“==”换为"!="即可。3.比较数字......
  • 自学Python的第三天,小结一下
               作为一名计算机专业大一学生,C语言课程的学习在上半学期已然结束,一直想找个时间再开一门语言来学习,和大多数人一样因为当下python比较火也比较实用,所以就选择了这门语言。           就简单谈谈我在这两天空余时间学到的一些东西以及我的体会。首......
  • python第二次小结(章四)
    由于最近数学建模校赛即将到来,所以一直忙着磨合队内配合,因此对python的学习其实是有一点点落下了,今天抽一点时间来写这篇第四章小结。在我看来整个第四章的核心应该在for语句循环遍历。1.首先是对for语句的使用(勿忘:冒号及缩进):eg:names=['ldl','cql','xhx'] fornameinnames......
  • python字典学习(4th)
    好久没写博客了,一方面是建模校赛的开展,另一个就是随着课程的进行,难度也在不断加大,最近一直在温习功课以应对考试。话不多说,开始总结。1.字典由‘{}’包含,其中都是一些键-值对,例如:xxx={'people':'cql','age':18}2.访问值时使用xxx['people']3.添加键-值对:xxx={'people':'cql','age......
  • python序列数据拆包
    元素的序列数据都可以进行数据拆解,如下#元组data_tuple=(1,2,3)a,b,c=data_tupleprint(a)#列表data_list=[11,22,33]a2,b2,c2=data_listprint(a2)#字典data_dic={'name':'zhangsan','age':'20'}print(data_dic["name"......
  • Python logging 通用模板
    #logger.pyimportloggingimportsocketimportthreadingimportuuidfromlogging.configimportdictConfiglocal=threading.local()#定义一个类,用于实现自定义的过滤器功能classRequestFilter(logging.Filter):deffilter(self,record):get_req......
  • 一文掌握Python多线程与多进程
    Python的多线程和多进程一、简介并发是今天计算机编程中的一项重要能力,尤其是在面对需要大量计算或I/O操作的任务时。Python提供了多种并发的处理方式,本篇文章将深入探讨其中的两种:多线程与多进程,解析其使用场景、优点、缺点,并结合代码例子深入解读。二、多线程Python中的线程......