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 list转dict示例分享
Jan 28 Python
用Python中的字典来处理索引统计的方法
May 05 Python
详细解析Python中的变量的数据类型
May 13 Python
python线程、进程和协程详解
Jul 19 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
python爬取微信公众号文章
Aug 31 Python
Python如何发布程序的详细教程
Oct 09 Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
Python import模块的缓存问题解决方案
Jun 02 Python
Python代码风格与编程习惯重要吗?
Jun 03 Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
Python 的 sum() Pythonic 的求和方法详细
Oct 16 #Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
You might like
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
php检测图片主要颜色的方法
2015/07/01 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
python实现弹窗祝福效果
2019/04/07 Python
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
战友聚会邀请函
2014/01/18 职场文书
中学生励志演讲稿
2014/04/26 职场文书
奥运会口号
2014/06/13 职场文书
班组长安全工作职责
2014/07/15 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
奖励申请报告范文
2015/05/15 职场文书
php字符串倒叙
2021/04/01 PHP
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js