Python常用OS库之path模块学习

这篇具有很好参考价值的文章主要介绍了Python常用OS库之path模块学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习python没有太多捷径,有也只有技巧,更重要的是要多学多练,个人觉得练更重要,读万卷书不如行万里路。编程是一门技能,所以除了看还要多实践,写得多了自然也就有了路。

如果看全部的标准库文档,可以访问这个链接 os --- 多种操作系统接口 — Python 3.12.3 文档

接下来就来敲敲OS库下的path方法,这里只是记录一下,搬运工作,加深印象。那就开始吧。

os.path常用方法

一、os.path.abspath(path)-->返回路径path的绝对路径

import os
os.path.abspath('AF')
#-->'D:\\pyhon_learn\\AF'

二、os.path.basename(path)-->返回路径path的基本名称。这是将path传入函数split()之后,返回的一对值中的第二个元素,听起来怪怪的,那就从代码上来看吧。从代码上看,如果路径到的是目录则返回目录名,如果路径是文件的,则返回文件名

os.path.basename('D:\\pyhon_learn\\AF\china.txt')
#-->'china.txt'

os.path.basename('D:\\pyhon_learn\\AF')
#-->'AF'

三、os.path.commonpath(paths)-->接受包括多个路径的序列paths,返回paths的最长公共子路径。如果paths同时包含绝对路径和相对路径或paths在不同的驱动器上,或paths为空,则抛出ValueError异常,什么意思呢,还是看代码吧

paths=[
    'D:\pyhon_learn\AF',
    'D:\pyhon_learn\AF\ckpoints',
    'D:\pyhon_learn\learn1'
]
os.path.commonpath(paths)
#-->'D:\\pyhon_learn'

可以看到返回的是数据组最大的公共路径,如果没有公共路径,则会报ValueError异常 

paths=[
    'D:\pyhon_learn\AF',
    'D:\pyhon_learn\AF\ckpoints',
    'D:\pyhon_learn\learn1',
    'E:\abc'
]
os.path.commonpath(paths)
#-->ValueError Traceback (most recent call last)
......
ValueError: Paths don't have the same drive

四、os.path.commonprefix(list)-->接受包含多个路径的列表,返回所有路径的最长公共前缀(这个是逐字比较的),如果列表为空,则返回空字符串(''),其实这个获取的是两个路径下,从头开始最大的相同数,返回回来的有可能不是一个正常的路径

paths=[
    'D:\pyhon_learn\AF\AC',
    'D:\pyhon_learn\AC\AB',
]
os.path.commonprefix(paths)
#-->'D:\\pyhon_learn\\A'

五、os.path.dirname(path) -->返回路径path的目录名称,这个跟os.path.basename(path)取的部分相反,两则合起来就是os.path.split() 

os.path.dirname('D:\\pyhon_learn\\AF\china.txt')
#-->'D:\\pyhon_learn\\AF'

六、os.path.exists(path)-->如果path指向一个已存在的路径或已打开的文件描述符,返回True,对于失效的符号链接,返回False。在某些平台,比如linux,如果使用os.stat()查询到目标文件没有执行权限,即使path确实存在,本函数也可能返回False,也就是说,exists判断True的条件是真实存在且可以被使用的文件才行。

os.path. exists('D:\\pyhon_learn\\AF\china.txt')
#-->True
os.path. exists('D:\\pyhon_learn\\AF\a.txt')
#-->False

七、os.path.lexists(path)-->这个长得真像os.path.lexists(path)就是只多了一个l。两些有何区别呢,主要的区别在于,exists()会自动判断失效的文件链接。如果检查的文件是一个软链接,但这个软连接指向的文件被删除了,会返回False。而lexists()不会做这个检查,只要软连接存在,即使它指向的文件不存在,也返回True。不好记怎么办,就这么想,这个不是懒得去检查吗,多了个l-->lan懒这么记就好了。软链接什么鬼?实际上可以理解window上的快捷图标,就清楚了,一个道理。

八、os.path.expanduser(path)-->用于将路径字符串中的扩展为用户的主目录。它的作用是提供跨平台的路径展开功能,使得路径可以在不同的操作系统上正确地解析。

怎么理解呢?就是在不同平台上,python对波浪线(~)解析为不同的主目录,在window上解析window能理解的,linux解析为linux能理解的,上代码看看,比如说我在window上有文档目录为path = "~/Documents/1.txt",那么执行后就变成了'C:\\Users\\cks/Documents/1.txt',在linux上可能就会变成'Home/Documents/1.txt',

path = "~/Documents/1.txt"
expanded_path = os.path.expanduser(path)
#-->'C:\\Users\\cks/Documents/1.txt'

九、os.path.expandvars(path)用于展开给定路径中的环境变量。它用环境变量name的值替换给定路径中。如果给定的路径包含变形的环境变量名或不存在的环境变量,那么os.path.expandvars()方法将保持不变。

expanded_path = os.path.expandvars("%JAVA_HOME%")
#-->'C:\\Program Files\\Java\\jdk1.8.0_201'

看得有点懵,实际就是传一个环境变量的key,系统给你返回环境变量的key对应的value值。

十、os.path.getatime(path)-->返回path的最后访问时间。为纪元秒数,纪元秒数是啥1970年1月1日零时开始算的时间,简单理解为返回了一个时间戳就好了。

os.path. getatime('D:\\pyhon_learn\\AF\china.txt')
#-->1712659286.8138032

十一、os.path.getmtime(path)-->返回path的最后修改时间。

十一、os.path.getctime(path)-->返回path的创建时间(window),unix是最后的修改时间

十二、os.path.getsize(path)-->返回path的大小,以字节为单位。如果文件不存在或不可访问,则抛出OSerror异常。

os.path.getsize('D:\\pyhon_learn\\AF\AC\china.txt')
#-->21

十三、os.path.isabs(path)-->如果是绝对路径则返回True

os.path.isabs('D:\\pyhon_learn\\AF\AC\china.txt')
#-->True

十四、os.path.file(path)-->是否是一个常规文件,是则True,否则False,china.txt是真文件,1.txt是快捷方式

os.path.isfile('D:\\pyhon_learn\\AF\AC\china.txt')
#-->True
os.path.isfile('D:\\pyhon_learn\\AF\AC\1.txt')
#-->False

十五、os.path.dir(path)-->是否是一个目录,是则True,否则False

os.path.isdir('D:\\pyhon_learn\\AF')
#-->True
os.path.isdir('D:\\pyhon_learn\\AG')
#-->False

十六、os.path.isjunction(path)-->Return True 如果 path 指向的 现有 目录条目是一个连接点。 则当连接点在当前平台不受支持时将总是返回 False。在 3.12 版本加入.这个暂时不知道怎么使用,后面再来补充

十七、os.path.islink(path)-->检查目录条目是不是一个符号链接,是则返回True,否刚False

十八、os.path.join(path*paths) -->智能地合并一个或多个路径部分。 返回值将是 path 和所有 *paths 成员的拼接,其中每个非空部分后面都紧跟一个目录分隔符,最后一个除外。

path1 = 'D:\\pyhon_learn'
path2 = 'AF\AC'
path3 = '1.txt'

os.path.join(path1,path2,path3)
#-->'D:\\pyhon_learn\\AF\\AC\\1.txt'

十八、os.path.normcase(path)

规范路径的大小写。在 Windows 上,将路径中的所有字符都转换为小写,并将正斜杠转换为反斜杠。在其他操作系统上返回原路径。

os.path.normcase('D:\pyhon_learn\AF\AC\1.txt')
#-->'d:\\pyhon_learn\\af\\ac\x01.txt'

十九、os.path.realpath(path*strict=False)-->返回指定文件的规范路径,消除路径中存在的任何符号链接(如果操作系统支持),翻译一下,比如你现在的工作目录是“D:\\pyhon_learn\\AF那么你调用 这个方法后返回的路就会是D:\\pyhon_learn\\AF\\AF\2.txt,看代码

#当前工作目录是D:\\pyhon_learn\\AF
os.path.realpath('./AF/2.txt')
#-->D:\\pyhon_learn\\AF\\AF\\2.txt

二十、os.path.split(path)将路径 path 拆分为一对,即 (head, tail),看代码

(dirname,basename) = os.path.split('D:\\pyhon_learn\\AF\china.txt')
#dirname -->D:\\pyhon_learn\\AF
#basename -->china.txt

文章来源地址https://www.toymoban.com/news/detail-851104.html

到了这里,关于Python常用OS库之path模块学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python-os模块学习,全

    目前,计算机上主流的操作系统有Windows、Unix、Mac OS等,os模块为多操作系统的访问提供了相关功能的支持,涉及对文件相关操作功能的实现,系统访问path路径的操作,shell命令行操作,Linux扩展属性的操作,流程管理,CPU等硬件相关信息的获取,基于操作系统的真正的随机数

    2024年01月23日
    浏览(37)
  • 【Python】【三分钟】熟练使用 os.path.join()

    【Python】【三分钟】熟练使用 os.path.join() 🌈 欢迎进入我的个人主页,我是高斯小哥!👈 🎓 博主档案: 广东某985本硕,SCI顶刊一作,深耕 深度学习 多年,熟练掌握PyTorch框架。 🔧 技术专长: 擅长处理各类深度学习任务,包括但不限于图像分类、图像重构(去雾去模糊修

    2024年04月25日
    浏览(33)
  • 深入了解Python中的os.path.join函数

    在Python中,处理文件和目录路径是常见的任务。为了简化路径的拼接和操作,Python提供了 os.path 模块,其中的 join 函数是一个非常重要且常用的函数。本文将深入介绍 os.path.join 函数的用法和注意事项,以帮助读者更好地理解和使用该函数。 os.path 模块是Python中用于处理文件

    2024年02月09日
    浏览(44)
  • Python分享之路径与文件 (os.path包, glob包)

    路径与文件的简介请参看Linux文件系统 os.path包 os.path包主要是处理路径字符串,比如说\\\'/home/vamei/doc/file.txt\\\',提取出有用信息。 此外,还有下面的方法: os.path.normpath(path)   # 去除路径path中的冗余。比如\\\'/home/vamei/../.\\\'被转化为\\\'/home\\\' os.path还可以查询文件的相关信息(metadata)。文

    2024年02月07日
    浏览(76)
  • Python路径拼接:如何正确使用os.path.join()函数拼接文件路径

    Python路径拼接:如何正确使用os.path.join()函数拼接文件路径 在Python中,路径拼接是一个常见的需求。通常我们需要将多个字符串组合成一个完整的文件路径,然而手动去拼接路径不仅费时费力,还容易出错。因此,Python提供了os.path.join()函数来解决路径拼接问题。 os.path.join

    2024年02月12日
    浏览(37)
  • Python 内幕揭秘:深度刨析 Windows 系统下的 os.path.join()

    项目 描述 Python 官方文档 https://docs.python.org/zh-cn/3/ 搜索引擎 Google 、Bing CPython 3.6 解释器源码 官方下载页面 项目 描述 Windows 操作系统 Windows 10 专业版 类 Unix 操作系统 Kali Linux 2023-04-18 PyCharm 2023.1 (Professional Edition) Python 3.10.6 os.path 模块是 Python 标准库中的一个模块,用于处理与

    2024年02月09日
    浏览(52)
  • python 使用os.path.join对文件夹中的文件进行循环遍历读取

    使用os.path.join()函数 一个情景 当我们需要处理数据时,数据保存在txt文件,或者语音处理wav文件 并且以后多个文件,其代表着某一任务下不同参数得到的结果。 所以我们需要使用路径来读取文件, 如果需要一次性读取多个,那么则循环遍历。 这里需要用到 os.path.join 操作

    2024年02月16日
    浏览(39)
  • python常用库之数据库orm框架之SQLAlchemy

    官网:https://www.sqlalchemy.org/ SQLAlchemy是一个基于Python实现的SQL工具包和ORM框架,提供了高层抽象来管理数据库交互。 SQLAlchemy功能强大,可以省去很多手动管理数据库连接、资源、事务等重复工作,让开发者更加高效地使用数据库。许多大型Python项目都选择使用SQLAlchemy作为ORM框架

    2024年02月07日
    浏览(53)
  • 《Python入门到精通》os模块详解,Python os标准库

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 OS标准库是操作系统接口模块,提供了操作系统相关功能的调用函数。 使用OS标准库前,需要导入模块 import

    2024年02月13日
    浏览(49)
  • Python os模块

    Python的os模块是一个标准库模块,用于提供与操作系统相关的功能(相当于接口)。os模块允许Python程序与文件系统、目录结构、进程管理等操作系统级别的功能进行交互。 文件和目录操作 创建、删除、重命名文件和目录; 获取文件和目录的属性信息,如文件大小、权限等;

    2024年01月19日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包