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 flask 多对多表查询功能
Jun 25 Python
200 行python 代码实现 2048 游戏
Jan 12 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
python实现彩票系统
Jun 28 Python
Windows下PyCharm安装图文教程
Aug 27 Python
Python中捕获键盘的方式详解
Mar 28 Python
python爬虫之遍历单个域名
Nov 20 Python
python 列表、字典和集合的添加和删除操作
Dec 16 Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 Python
python 装饰器的基本使用
Jan 13 Python
python获取带有返回值的多线程
May 02 Python
Python干货实战之八音符酱小游戏全过程详解
关于python pygame游戏进行声音添加的技巧
Oct 24 #Python
python实现简单石头剪刀布游戏
Python 数据结构之十大经典排序算法一文通关
Python 的 sum() Pythonic 的求和方法详细
Oct 16 #Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
You might like
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
PHP引用的调用方法分析
2016/04/25 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
php设计模式之单例模式代码
2016/06/11 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
Google 静态地图API实现代码
2010/11/19 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
Python中的localtime()方法使用详解
2015/05/22 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
春季防火方案
2014/05/10 职场文书
研究生导师推荐信
2014/09/06 职场文书
2014年物流工作总结
2014/11/25 职场文书
高中运动会广播稿
2015/08/19 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
Golang 编译成DLL文件的操作
2021/05/06 Golang
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript