python 标准库原理与用法详解之os.path篇


Posted in Python onOctober 24, 2021

os中的path

查看源码会看到,在os.py中有这样几行

if 'posix' in _names:
    name = 'posix'
    linesep = '\n'
    from posix import *
    #省略若干代码

elif 'nt' in _names:
    from nt import *
    try:
        from nt import _exit
        __all__.append('_exit')
    except ImportError:
        pass
    import ntpath as path
    #。。。

由于我们是在windows(WindowsNT)中,所以打开ntpath.py文件,可以看到开头就定义了8个成员变量

curdir = '.'    #当前路径标识
pardir = '..'   #
extsep = '.'    #扩展名分隔符
sep = '\\'
pathsep = ';'   #环境变量中路径的分隔符
altsep = '/'    #
defpath = '.;C:\\bin'   #环境变量的存放位置
devnull = 'nul'

此外,还有一个名为supports_unicode_filenames的布尔型成员变量,表示当前系统是否支持unicode的文件名。

可以理解为,path中封装了一些和操作系统相关,并且在不同操作系统下代码不同的功能,下面默认from os.path import *

输入为路径字符串的单参函数

  输出
normpath() 将路径修改为\\a\\b形式
normcase() 将路径修改为小写的\\a\\b形式
abspath() 返回绝对路径,其格式为X:\\a\\b
realpath() 返回绝对路径,并消除其中的链接
relpath() 返回相对路径,并消除其中的链接
split() 将输入路径分割为两个部分
例如X:\\a\\b会返回为X:\\ab
splitext() 分割文件的扩展名
splidrive() 分割出驱动器和其他路径
basename() 最下层的目录或文件名称,即split()[1]
dirname() 最下层目录或文件所在目录,即split()[0]
exists() 判断输入路径是否存在,存在则返回True,否则False
lexists() 如果路径损坏,也返回False
isabs() 判断输入路径是否为绝对路径
isfile() 判断输入路径是否为文件
isdir() 判断输入路径是否为目录
islink() 判断输入路径是否为链接
ismount() 判断输入路径是否为挂载点(在windows中就是盘符)
例如os.path.ismount('C:\\'),返回为True
expanduser() 通过~对路径进行扩展
expandvars() 将路径扩展为命令行识别的变量

部分示例

>>> from os.path import *
>>> p = abspath('.')
>>> p
'E:\\Documents\\00\\1022'
>>> exists(p)
True
>>> splitdrive(p)
('E:', '\\Documents\\00\\1022')
>>> isfile(p)
False

与文件信息相关的单参函数

其输入必须为文件路径,不得为目录

 

输出~.getsize()以字节为单位获取文件大小~.getctime()获取文件创建时间,c即create~.getmtime()获取文件最后修改时间,m即modify~.getatime()获取文件最后访问时间,a即access

  输出
~.getsize() 以字节为单位获取文件大小
~.getctime() 获取文件创建时间,c即create
~.getmtime() 获取文件最后修改时间,m即modify
~.getatime() 获取文件最后访问时间,a即access

输入为多个参数的函数

os.path.join,用于拼接路径,超甜的一个功能。很多新手会为新建文件夹而困扰,很多时候不知道是写D:\test还是D:\test\,而在os.path.join中这两者基本是等价的。

>>> os.path.join('test','\\test1','test2\\','test3')
'\\test1\\test2\\test3'
  判断是否相同
~.samefile(p1, p2) 判断目录或文件是否相同
~.sameopenfile(fp1, fp2) 两个打开的文件是否指向同一个文件

commonpath(list)commonprefix(list):返回list中所有path共有的最长路径,即距离所有文件和文件夹的共同父文件夹。二者区别在于,后者会在返回的路径加上\

到此这篇关于python 标准库原理与用法详解之os.path篇的文章就介绍到这了,更多相关python os.path内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python连接sql server乱码的解决方法
Jan 28 Python
Python使用gensim计算文档相似性
Apr 10 Python
利用python将pdf输出为txt的实例讲解
Apr 23 Python
python对离散变量的one-hot编码方法
Jul 11 Python
Python中__slots__属性介绍与基本使用方法
Sep 05 Python
对python调用RPC接口的实例详解
Jan 03 Python
Python numpy线性代数用法实例解析
Nov 15 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
使用python去除图片白色像素的实例
Dec 12 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
python实现的人脸识别打卡系统
May 08 Python
Python集合的基础操作
Nov 01 Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
Python 的 sum() Pythonic 的求和方法详细
Oct 16 #Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
You might like
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
php中Snoopy类用法实例
2015/06/19 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
2016/03/06 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
详解Nodejs之npm&package.json
2017/06/15 NodeJs
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
vuex的简单使用教程
2018/02/02 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python 随机生成中文验证码的实例代码
2013/03/20 Python
利用Python开发实现简单的记事本
2016/11/15 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
学校安全工作制度
2014/01/19 职场文书
安全标准化汇报材料
2014/02/03 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
运动会的口号
2014/06/09 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
环保建议书作文300字
2015/09/14 职场文书
聘任通知书
2015/09/21 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
浅谈redis整数集为什么不能降级
2021/07/25 Redis