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:获取当前系统的变量分隔符