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控制台显示时钟的示例
Feb 24 Python
Python使用filetype精确判断文件类型
Jul 02 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
PyQt4实时显示文本内容GUI的示例
Jun 14 Python
如何利用Python模拟GitHub登录详解
Jul 15 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
pytorch数据预处理错误的解决
Feb 20 Python
Python过滤序列元素的方法
Jul 31 Python
Pandas-DataFrame知识点汇总
Mar 16 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python描述器descriptor详解
2015/02/03 Python
python处理图片之PIL模块简单使用方法
2015/05/11 Python
python使用筛选法计算小于给定数字的所有素数
2018/03/19 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
毕业生的自我评价
2013/12/30 职场文书
教学个人的自我评价分享
2014/02/16 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
pt-archiver 主键自增
2022/04/26 MySQL