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

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')

结果:

未完待续,,,,,,, 

相关文章:

  • 2025年3月青少年机器人技术等级考试(二级)理论综合真题试卷
  • 【使用switch结构输出季节】2021-11-23
  • Wubuntu安装时创建分区失败解决方案
  • 贝叶斯定理
  • [python] 函数1-函数基础
  • uniapp index.html怎么改都不生效
  • Java 异常
  • 【PhysUnits】2 SI 量纲 实现解析(prefix.rs)
  • el-table合并单元
  • 数据结构(三)——栈和队列
  • uniapp-文件查找失败:‘@dcloudio/uni-ui/lib/uni-icons/uni-icons.vue‘
  • 记录一次华为魔改 fusionlnsight和ai问答的狗血故事
  • git 多个提交记录合并为一个
  • 为什么强调 RESTful 的无状态性?-优雅草卓伊凡
  • A2A Hello World搭建
  • CTF杂项入门(BUUCTF-Misc第一页)
  • 智能外呼机器人的核心优势
  • 手撕基于AMQP协议的简易消息队列-7(客户端模块的编写)
  • 安装Pod网络插件时pod状态变为ImagePullBackOff
  • 贵州安全员考试内容有哪些?
  • 4月金融数据前瞻:受去年低基数因素影响,社融增量有望同比大幅多增
  • 中国天主教组织发贺电对新教皇当选表示祝贺
  • 国家税务总局泰安市税务局:山东泰山啤酒公司欠税超536万元
  • 化学家、台湾地区“中研院”原学术副院长陈长谦逝世
  • 上海优化营商环境十大攻坚突破任务中,为何第一项是实施世行对标改革?
  • 山东莒县农商银行去年收入、利润下降,资本充足率等指标增长