os.path库:Python操作和处理文件路径(一)

简介: os.path库:Python操作和处理文件路径(一)

前言


os.path是平台独立的文件名管理库,使用该库能够很方便来处理多个平台上的文件。即使程序不打算在平台之间移值,也应当使用os.path库来完成可靠的文件名解析。


本篇博文将详细介绍os.path库的用法。


解析路径的基本用法


os.path中的第一组函数可以用来将表示文件名的字符串解析为文件名的各个组成部分。这些函数并不要求路径真正存在,它们只是单纯的处理字符串而已。


常用的解析函数如下:

import os
paths = ["D:/document/csdn/opencv/20/10.png",
         "D:/document/csdn/opencv/20/",
         "D:/document/csdn/opencv/20",
         "d:" + os.sep + "10" + os.extsep + "txt",
         os.pardir + os.sep + "10" + os.extsep + "txt",
         os.curdir + os.sep + "10" + os.extsep + "txt", ]
for path in paths:
    print(path)
    print(os.path.split(path))


运行之后,效果如下:

os.sep:路径分隔符,字符串“/”或者“\”


os.extsep:文件名后缀的字符串“.”(点)


os.pardir:目录上一级,字符串“…”(双点)


os.curdir:当前目录,字符串“.”(点)


os.path.split:分割路径为两部分元组,第2个元素为路径最后的部分,可能是文件名,可能是空。第2个元素是前面的路径不包括文件名。


dirname()与basename()


当然,我们还可以不使用os.path.split进行分割,直接使用dirname()与basename()函数返回这两部分,具体代码如下:

import os
paths = ["D:/document/csdn/opencv/20/10.png",
         "D:/document/csdn/opencv/20/",
         "D:/document/csdn/opencv/20",
         "d:" + os.sep + "10" + os.extsep + "txt",
         os.pardir + os.sep + "10" + os.extsep + "txt",
         os.curdir + os.sep + "10" + os.extsep + "txt", ]
for path in paths:
    print(path)
    print(os.path.dirname(path))
    print(os.path.basename(path))


运行之后,效果如下:

dirname():返回文件路径最后一个分隔符前的路径


basename():返回文件路径最后一个分隔符后面的内容


splitext()与commonprefix()


splitext()函数与split()类似,不过它会根据扩展名分隔符而不是目录分隔符来分解路径。一般我们用该方法与前面的basename()结合获取文件名。具体代码如下:

import os
path = "D:/document/csdn/opencv/20/10.png"
filename = os.path.basename(path)
print(os.path.splitext(filename))


这里,我们会得到文件名以及后缀。运行效果如下:


当然,这是在存在文件名的情况下,如果只是单纯的路径,我们会得到空字符串。而如果直接跳过basename(),我们会得到前面的路径加文件名。


至于commonprefix()函数,它是用于判断一堆路径是否具有统一的公共前缀,如果有返回公共前缀。具体代码如下:

import os
paths = ["D:/document/csdn/opencv/20/10.png",
         "D:/document/csdn/opencv/20/",
         "D:/document/csdn/opencv/20",]
for path in paths:
    print(path)
print("公共前缀")
print(os.path.commonprefix(paths))


运行之后,效果如下:

相信大家测试的时候,发现了一个差不多的函数:commonpath()。该函数的才是我们最长使用的,因为commonprefix()有缺陷,我们先来看一段代码:

import os
paths = ["D:/document/csdn/opencv/20/10.png",
         "D:/document/csdn/opencv/2011111",
         "D:/document/csdn/opencv/20",]
for path in paths:
    print(path)
print("公共前缀")
print(os.path.commonpath(paths))
print(os.path.commonprefix(paths))


运行之后,效果如下:


可以看到,commonpath()函数返回的是共同的路径前缀,而commonprefix()虽然返回的路径存在,但不是共同的路径前缀,因为2011111是一个文件,commonprefix()将其裁成(20,1111)了。

相关文章
|
2月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
1月前
|
数据采集 存储 Web App开发
Python爬虫库性能与选型实战指南:从需求到落地的全链路解析
本文深入解析Python爬虫库的性能与选型策略,涵盖需求分析、技术评估与实战案例,助你构建高效稳定的数据采集系统。
223 0
|
2月前
|
存储 监控 安全
Python剪贴板监控实战:clipboard-monitor库的深度解析与扩展应用
本文介绍如何利用Python的clipboard-monitor库实现剪贴板监控系统,涵盖文本与图片的实时监听、防重复存储、GUI界面开发及数据加密等核心技术,适用于安全审计与自动化办公场景。
84 0
|
11月前
|
Shell Python
Python 的 os 库的应用实例
Python 的 os 库的应用实例
158 3
|
Python
Python基本文件操作及os库
以上仅为Python文件操作和os库的基本用法,实际使用中需要根据具体需求进行调整。
79 1
|
Python
Python中使用os库管理环境变量
在Python中,可以使用os库来管理操作系统的环境变量。通过os.environ对象,我们可以获取、修改和删除环境变量的值。
274 3
|
Unix API 调度
【python】 一文了解 OS 操作系统交互库简单使用方法
Python的os模块(Operating System Interface)提供了访问操作系统相关功能的接口,它允许程序与底层操作系统交互,对文件系统、进程、套接字等底层操作进行控制。典型的用法是程序打开某个文件时,os库可以帮助我们判断文件是否存在/是否可读/是否可写等等,同时也可以帮助我们创建和删除目录、文件链接等等。os库提供了一系列的函数和方法,用于处理和管理操作系统文件、文件夹,以及运行和控制进程,具体包括以下功能:对文件和目录(文件夹)的操作:包括创建、重命名、删除等等。
690 0
|
数据采集 Python
Python的第三方库OS库
Python的第三方库OS库
176 0

热门文章

最新文章