Python之os模块
Python之os模块
我们在运维工作中经常需要查找和操作大量的文件,这就需要对大量的文件和路径进行操作,这就必须
依赖os模块。下面我们介绍几个os模块最常用的方法:
1、涉及当前路径及其路径下的文件
os.getcwd()
功能:获取当前所在的路径
示例:
import os print(os.getcwd()) 结果:'C:\\Users\\chencheng'
os.listdir(path)
功能:列出指定路径下的所有的文件和目录,只显示指定目录下的一级内容。
示例:
import os os.listdir('/home/imix/imixapp/InternalHub')
2、绝对路径的使用
os.path.abspath(path)
功能:获取指定路径的绝对路径
示例:
import os os.path.abspath('./')
3、操作路径中的文件夹和文件
os.path.split()
功能:将一个路径中的路径与文件分开。
注意:路径和文件名的分开主要看结尾处是否有分隔符,有和没有结果是不一样的
示例:
>>> os.path.split('/home/imix/imixapp/InternalHub/IH') ('/home/imix/imixapp/InternalHub', 'IH') >>> os.path.split('/home/imix/imixapp/InternalHub/IH/') ('/home/imix/imixapp/InternalHub/IH', '')
os.path.join(path1, path2, path3....)
功能:将多个路径合并成一个完整的路径
注意:如果path中有绝对路径,则相同的部分只显示一次,剩余的使用系统默认的分隔符连接
示例:
os.path.join('/home/imix/imixapp', '/home/imix/imixapp/InternalHub', 'IH', 'cfg') 结果:/home/imix/imixapp/InternalHub/IH/cfg
os.path.dirname(path)
功能:获取路径中的文件夹部分。最后一个分隔符左边的都是文件夹部分
示例:
>>> os.path.dirname('/home/imix/imixapp/InternalHub/IH') '/home/imix/imixapp/InternalHub' >>> os.path.dirname('/home/imix/imixapp/InternalHub/IH/') '/home/imix/imixapp/InternalHub/IH'
os.path.basename(path)
功能:获取路径的文件名,最后一个分隔符右边的部分就是文件部分
示例:
>>> os.path.basename('/home/imix/imixapp/InternalHub/IH/cfg/InternalHub.xml') 'InternalHub.xml' >>> os.path.basename('/home/imix/imixapp/InternalHub/IH/cfg/InternalHub.xml/') ''
4、查看文件或目录的元数据信息
os.path.getmtime(path) | os.path.getatime(path) | os.path.getctime(path)
功能:分别获取文件或目录的修改时间、访问时间和创建时间
os.path.getsize(path)
功能:获取文件或文件夹的大小
示例:
os.path.getsize('home/imix/imixapp/InternalHub/IH/cfg/InternalHub.xml')
5、判断文件类型以及是否存在
os.path.isdir(path)
功能:判断一个对象路径是否是目录,是返回Ture,否返回False
os.path.isfile(path)
功能:判断一个对象路径是否是文件,是返回Ture,否返回False
os.path.exists('path')
功能:查看某个文件是否存在
示例:
os.path.exists('file')
6、其他用法
os.sep:获取系统的分隔符
os.linesep:获取系统上文件的结尾符
os.pathsep:获取当前系统的变量分隔符
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器