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 Tkinter GUI编程入门介绍
Mar 10 Python
浅谈python内置变量-reversed(seq)
Jun 21 Python
Python 多进程和数据传递的理解
Oct 09 Python
名片管理系统python版
Jan 11 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
Python玩转加密的技巧【推荐】
May 13 Python
详解Python 切片语法
Jun 10 Python
Python实现的对一个数进行因式分解操作示例
Jun 27 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 Python
使用numpy nonzero 找出非0元素
May 14 Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
Python 的 sum() Pythonic 的求和方法详细
Oct 16 #Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
You might like
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
php 多文件上传的实现实例
2016/10/23 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
js闭包的用途详解
2014/11/09 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
React组件生命周期详解
2017/07/03 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
2017/09/11 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
Python实现异步IO的示例
2020/11/05 Python
玖熙女鞋美国官网:Nine West
2016/10/06 全球购物
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
Carolina工作鞋官网:Carolina Footwear
2019/03/14 全球购物
黄继光的英雄事迹材料
2014/02/13 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
酒店员工培训方案
2014/06/02 职场文书
公司证明怎么写
2014/09/22 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript