Python常用模块os.path之文件及路径操作方法


Posted in Python onDecember 03, 2019

以下是 os.path 模块的几种常用方法:

方法 说明
os.path.abspath(path) 返回绝对路径
os.path.basename(path) 返回文件名
os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径
os.path.dirname(path) 返回文件路径
os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
os.path.lexists 路径存在则返回True,路径损坏也返回True
os.path.expanduser(path) 把path中包含的"~"和"~user"转换成用户目录
os.path.expandvars(path) 根据环境变量的值替换path中包含的"$name"和"${name}"
os.path.getatime(path) 返回最近访问时间(浮点型秒数)
os.path.getmtime(path) 返回最近文件修改时间
os.path.getctime(path) 返回文件 path 创建时间
os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误
os.path.isabs(path) 判断是否为绝对路径
os.path.isfile(path) 判断路径是否为文件
os.path.isdir(path) 判断路径是否为目录
os.path.islink(path) 判断路径是否为链接
os.path.ismount(path) 判断路径是否为挂载点
os.path.join(path1[, path2[, ...]]) 把目录和文件名合成一个路径
os.path.normcase(path) 转换path的大小写和斜杠
os.path.normpath(path) 规范path字符串形式
os.path.realpath(path) 返回path的真实路径
os.path.relpath(path[, start]) 从start开始计算相对路径
os.path.samefile(path1, path2) 判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2) 判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) 判断stat tuple stat1和stat2是否指向同一个文件
os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组
os.path.splitdrive(path) 一般用在 windows 下,返回驱动器名和路径组成的元组
os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path) 把路径分割为加载点与文件
os.path.walk(path, visit, arg) 遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
os.path.supports_unicode_filenames 设置是否支持unicode路径名

os.path.abspath(path)

输入相对路径,返回绝对路径

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import os
>>> print(os.path.abspath("."))
C:\Users\28914\AppData\Local\Programs\Python\Python37

os.path.basename(path)

返回路径最后的文件或目录名,单纯的字符串处理,不会管该路径是否存在

>>> import os
>>> os.path.basename("E:\\abc\\efg.txt")
'efg.txt'

os.path.dirname(path)

和os.path.basename相反,返回路径中去除了最后的文件或目录名后的部分,也是单纯的字符串处理

>>> import os
>>> os.path.dirname("E:\\abc\\efg.txt")  
'E:\\abc'

os.path.split(path)

单纯的字符串处理,分割路径,返回由其目录名和文件名组成的元组

>>> import os
>>> os.path.split("E:\\abc\\efg.txt")  
('E:\\abc', 'efg.txt')

os.path.splitext(path)

单纯的字符串处理,分割路径,返回由其文件名和扩展名组成的元组

>>> import os
>>> os.path.splitext("E:\\abc\\efg.txt")  
('E:\\abc\\efg', '.txt')

os.path.join(dirpath,filename)

将路径与文件名拼接,根据操作系统自动使用相应的路径分隔符,Windows用“”,Linux用“/”

>>> import os
>>> os.path.splitext("E:\\abc\\efg.txt")  
('E:\\abc\\efg', '.txt')

os.path.exists(path)

判断文件或目录是否存在,返回True或False

>>> import os
>>> os.path.exists("E:\\abc\\efg.txt")
False

os.path.isdir(path)

判断路径是不是文件夹,路径不存在同样返回False

>>> import os
>>> os.path.isdir("E:\\abc\\efg.txt")
False

os.path.isfile(path)

判断路径是不是文件,路径不存在同样返回False

>>> import os
>>> os.path.isfile("E:\\abc\\efg.txt")
False

os.path.getsize(path)

获取文件大小,单位字节,文件不存在则报错,不能直接用于文件夹

>>> import os
>>> os.path.getsize("D:\\2019-11-07.txt")
5973

os.path.getctime(path)

获取文件创建时间

os.path.getmtime(path)

获取文件最后修改时间

os.path.getatime(path)

获取文件最近访问时间

总结

以上所述是小编给大家介绍的Python常用模块os.path之文件及路径操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python检测QQ在线状态的方法
May 09 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
python使用opencv驱动摄像头的方法
Aug 03 Python
在Pandas中给多层索引降级的方法
Nov 16 Python
Python获取网段内ping通IP的方法
Jan 31 Python
python logging模块的使用总结
Jul 09 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
python 命名规范知识点汇总
Feb 14 Python
详解Python中Pyyaml模块的使用
Oct 08 Python
python+playwright微软自动化工具的使用
Feb 02 Python
Python如何利用pandas读取csv数据并绘图
Jul 07 Python
Python中顺序表原理与实现方法详解
Dec 03 #Python
python双向链表原理与实现方法详解
Dec 03 #Python
Python读取实时数据流示例
Dec 02 #Python
简单了解python元组tuple相关原理
Dec 02 #Python
python实现智能语音天气预报
Dec 02 #Python
Python:二维列表下标互换方式(矩阵转置)
Dec 02 #Python
python 实现二维列表转置
Dec 02 #Python
You might like
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
python基础教程之字典操作详解
2014/03/25 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
Python函数装饰器实现方法详解
2018/12/22 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
铭立家具面试题
2012/12/06 面试题
迟到检讨书400字
2014/01/13 职场文书
cf搞笑广告词
2014/03/14 职场文书
超市商业计划书
2014/05/04 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
java设计模式--建造者模式详解
2021/07/21 Java/Android
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
mysqldump进行数据备份详解
2022/07/15 MySQL