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程序语言快速上手教程
Jul 18 Python
python3生成随机数实例
Oct 20 Python
深入解读Python解析XML的几种方式
Feb 16 Python
Python使用Redis实现作业调度系统(超简单)
Mar 22 Python
python 第三方库的安装及pip的使用详解
May 11 Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 Python
PyTorch 1.0 正式版已经发布了
Dec 13 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
基于Python实现剪切板实时监控方法解析
Sep 11 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
Python生成器常见问题及解决方案
Mar 21 Python
Django drf请求模块源码解析
Jun 08 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中使用模板的方法
2008/05/24 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
JS中的三个循环小结
2017/06/20 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Pycharm安装python库的方法
2020/11/24 Python
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
优秀学生干部个人事迹材料
2014/06/02 职场文书
校庆口号
2014/06/20 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android