当前位置: 首页 > ds >正文

Python开发之os.path的常用操作

        Python的os模块(operating system)是提供给用户来与操作系统进行交互的内置库,可以用来进行文件和目录的管理操作。它提供了一系列函数,允许你创建、删除、重命名、遍历以及获取文件和目录的信息。本文我将为大家介绍这个内置库在路径管理中的一些常用基本操作。

路径管理 os.path

当我们使用os进行路径管理时,需要用到os.path这个类下的一些方法

1.相对路径转绝对路径

使用os.path.abspath()即可实现将相对路径转换为绝对路径

import os
os.path.abspath('情况表.xlsx')

结果: 

  2.获取路径中的最后一部分内容

        使用os.path.basename()可以获取路径中的最后一部分内容,如果该路径指向的是一个文件,那么返回结果便是文件名,如果该路径指向一个目录,那么返回结果为目录名。

import os
os.path.basename(r'e:\\OneDrive\\Desktop\\帮忙\\毕业设计.docx')

结果:

        这里需要注意的是,对于basename函数,只要传入的字符串是pathLike(带有\:等标识符)的,返回结果便是最后一部分,无论这个路径是否有效 

 3.找到多个字符串路径的最长公共路径(有效真实的路径)

        使用os.path.commompath()函数即可实现上述功能,一般而言,我们可以用它来查找文件的根目录。

import os
paths=['/帮忙/毕业设计.docx','/帮忙/情况表.xlsx',
]
print(os.path.commonpath(paths)) 

结果: 

        这里需要注意的是commonpath函数传入的路径列表内的所有路径必须存在公共路径,也就是具有相同根目录,否则会报错。

4.找出多个字符串路径的最长公共前缀​​ 

        使用os.path.commonprefix()可以实现该功能,不过需要注意的是该函数接受的参数是任意字符串,返回值也是字符串,因此使用该函数并不能一定获取到一个路径。

import os
paths=['Goodnight','Goodmorning','Goodafternoon'
]
print(os.path.commonprefix(paths)) 

 结果:

 

5.判断路径是否真实存在

        os.path.exists()是我们在进行路径处理时使用频率最高的一个函数,主要用来判断给定路径是否真实有效,返回值为True or False.

import os
print(os.path.exists(r'E:\OneDrive\Desktop\帮忙\毕业设计.docx'))
print(os.path.exists(r'E:\OneDrive\Desktop\帮忙\毕业设计'))

结果:

 

6.处理与用户主目录相关的路径扩展​

        os.expanduser()函数可以实现上述操作,当我们开发跨平台应用需要在用户主目录下配置文件时即可使用该函数。

import os
print(os.path.expanduser('~'))#输出:'/home/username'(Linux)或'C:\\Users\\username(Windows)
print(os.path.expanduser('~/Documents'))#输出:'/home/username/Documents'或'C:\\Users\\username\\Documents'

结果:

7.扩展路径中的环境变量

        环境变量(Environment Variables)是操作系统中用来​​存储系统配置信息和用户设置​​的键值对(key-value pairs),可以被操作系统和应用程序访问使用。在windows系统中,可以运行:

"SystemPropertiesAdvanced.exe"打开系统属性面板后,点击环境变量来手动管理。

 

         使用os.path.expandvars()可以将包含环境变量引用(如 $VAR 或 ${VAR} 格式)的路径字符串转换为包含实际变量值的完整路径。

import os
var=os.path.expandvars(r"%wechatpath%")
print(var)

结果:

7.获取给定路径下的文件创建时间

        使用os.getctime()可以获取给定路径下的文件的创建时间,返回结果为从​​纪元(1970-01-01 00:00:00 UTC)​​到创建时间的秒数(浮点数)

import os
import time
print(os.path.getctime(r'E:\OneDrive\Desktop\帮忙\毕业设计.docx'))
print(time.ctime(os.path.getctime(r'E:\OneDrive\Desktop\帮忙\毕业设计.docx')))

特别地,如果我们想将返回值转换为可读的时间戳,可以使用time模块下的ctime

 结果:

8.获取给定路径下的文件最后访问时间

        使用os.getatime()可以获取给定路径下的文件的创建时间,返回结果为从​​纪元(1970-01-01 00:00:00 UTC)​​到创建时间的秒数(浮点数)

import os
import time
print(os.path.getatime(r'E:\OneDrive\Desktop\帮忙\毕业设计.docx'))
print(time.ctime(os.path.getatime(r'E:\OneDrive\Desktop\帮忙\毕业设计.docx')))

结果:

9.获取给定路径下的文件最后修改时间

import os
import time
print(os.path.getmtime(r'E:\OneDrive\Desktop\帮忙\毕业设计.docx'))
print(time.ctime(os.path.getmtime(r'E:\OneDrive\Desktop\帮忙\毕业设计.docx')))

结果:

 10.获取给定路径下的文件大小

使用os.path.getsize()函数可以实现这一功能,返回值的结果为文件的字节数Byte,若需要转换为KB或MB或GB需要除1024.

import os
path=r'E:\OneDrive\Desktop\帮忙\毕业设计.docx'
print(f'{round(os.path.getsize(path))}B')
print(f'{round(os.path.getsize(path)/1024)}KB')

结果:

未完待续,,,,,,, 

http://www.xdnf.cn/news/4782.html

相关文章:

  • Vim 编辑器常用快捷键速查表
  • 排序算法——基数排序
  • 函数级重构:如何写出高可读性的方法?
  • 生产型机器学习系统:静态训练与动态训练的权衡与实践
  • mobile自动化测试-appium webdriverio
  • element-ui form 组件源码分享
  • 2025.5.8总结(中期审视)
  • JAVA多线程进阶
  • 第五十四篇 AI与数据分析
  • 推测式思维树:让大模型快速完成复杂推理
  • 针对共享内存和上述windows消息机制 在C++ 和qt之间的案例 进行详细举例说明
  • Android7 Input(六)InputChannel
  • OpenHarmony平台驱动开发(九),MIPI DSI
  • Rust 开发环境搭建与插件
  • MySQL报错解决过程
  • 39、.NET GC是什么? 为什么需要GC?
  • # 如何使用OpenCV进行发票的透视变换和二值化处理
  • EasyRTC嵌入式音视频通话SDK驱动智能硬件音视频应用新发展
  • 集成变压器的网口的PCB设计
  • 【MySQL】存储引擎 - MEMORY详解
  • 【JS逆向基础】前端基础-HTML与CSS
  • 初学者的AI智能体课程:构建AI智能体的十堂课
  • SpringBoot 讯飞星火AI WebFlux流式接口返回 异步返回 对接AI大模型 人工智能接口返回
  • oracle 对一个字段的数据做排序 :值的依次排序为.“思考”->“asd”->“三点“
  • MySQL 8.0 OCP 英文题库解析(一)
  • Web开发-JavaEE应用SpringBoot栈ActuatorSwaggerHeapDump提取自动化
  • 【Bluedroid】 HID 设备应用注册与主机服务禁用流程源码解析
  • SpringBoot项目接入DeepSeek
  • 「Mac畅玩AIGC与多模态24」开发篇20 - 多语言输出工作流示例
  • 17.Java 注解与实例