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字符转换
Sep 06 Python
python判断windows隐藏文件的方法
Mar 21 Python
python中map()与zip()操作方法
Feb 27 Python
python if not in 多条件判断代码
Sep 21 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
python爬取足球直播吧五大联赛积分榜
Jun 13 Python
django从请求到响应的过程深入讲解
Aug 01 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
May 07 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
Python collections.deque双边队列原理详解
Oct 05 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
模仿OSO的论坛(二)
2006/10/09 PHP
PHP 开发工具
2006/12/06 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
python timestamp和datetime之间转换详解
2017/12/11 Python
彻底搞懂Python字符编码
2018/01/23 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
详解HTML5中的manifest缓存使用
2015/09/09 HTML / CSS
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
高一物理教学反思
2014/01/24 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL