【Python 标准库学习】多种操作系统接口和常用路径操作库 — os 与 os.path

欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/


os 模块简介:主流操作系统有 Windows、UNIX、Mac OS 等,os 模块为多种操作系统的访问提供了相关功能的支持,涉及对文件相关操作功能的实现、系统访问 Path 路径的操作、shell 命令行操作、Linux 扩展属性的操作、流程管理、CPU 等硬件相关信息的获取、基于操作系统的真正的随机数的操作以及相关的一些系统变量的提供等。

os.path 模块简介:os.path 模块主要用于获取文件的属性,在路径名上实现了一些有用的功能。

这两个模块之间的联系与区别可以参考:《Python:加载os和os.path之间的关联和区别》

os 模块官方文档:https://docs.python.org/3/library/os.html

os.path 模块官方文档:https://docs.python.org/3/library/os.path.html

os 模块部分常用函数:

函数功能
os.environ获取当前操作系统的环境变量
os.sep获取操作系统用来分隔路径不同部分的字符,Windows 是 //、Linux 是 \
os.name获取当前工作平台名称,Windows 是 nt、Linux 是 posix
os.getenv(key, default=None)获取一个环境变量,如果没有返回 none, key,default 和返回值均为 str 字符串类型
os.getcwd()获取当前所在路径
os.system(command)在子 shell 中执行命令(command 为一个字符串命令)
os.urandom(n)获取一个适合加密使用的 n 字节大小的随机数字符串
os.listdir(path=’.’)返回指定目录下所有的文件和目录名
os.mkdir(path)创建一个目录,如果目录已存在,则抛出 FileExistsError 异常
os.makedirs(path)创建多层递归目录,如果目录全部存在,则会引发 FileExistsError 异常
os.rmdir(path)删除一个空目录,如果目录不存在或不为空,则会分别抛出 FileNotFoundError 或 OSError 异常
os.removedirs(path)删除多层递归空目录,若目录中有文件则无法删除
os.chdir(path)改变当前目录,到指定目录中
os.rename(src, dst)将文件或目录 src 重命名为 dst
在 Windows 上,如果 dst 已存在,则抛出 FileExistsError 异常
在 Unix 上,如果 src 是文件而 dst 是目录,将抛出 IsADirectoryError 异常,反之则抛出 NotADirectoryError 异常
在 Unix 上,如果两者都是目录且 dst 为空,则 dst 将被静默替换。如果 dst 是非空目录,则抛出 OSError 异常
在 Unix 上,如果两者都是文件,则在用户具有权限的情况下,将对 dst 进行静默替换
如果 src 和 dst 在不同的文件系统上,则本操作在某些 Unix 分支上可能会失败

os.path 模块部分常用函数:

函数功能
os.path.abspath(path)返回绝对路径
os.path.basename(path)返回文件名
os.path.commonprefix(list)返回 list (多个路径)中,所有 path 共有的最长的路径
os.path.dirname(path)返回文件路径
os.path.exists(path)如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False
os.path.lexists路径存在则返回 True,路径损坏也返回 True
os.path.expanduser(path)把path中包含的 ~~user 转换成用户目录
os.path.expandvars(path)根据环境变量的值替换 path 中包含的 $name${name}
os.path.getatime(path)返回最近访问时间(浮点型秒数)
os.path.getmtime(path)返回最近文件修改时间
os.path.getctime(path)返回文件 path 创建时间
os.path.getsize(path)返回文件大小,如果文件不存在就返回错误
os.path.isabs(path)判断是否为绝对路径
os.path.isfile(path)判断路径是否为文件
os.path.isdir(path)判断路径是否为目录
os.path.islink(path)判断路径是否为链接
os.path.ismount(path)判断路径是否为挂载点
os.path.join(path1[, path2[, …]])把目录和文件名合成一个路径
os.path.normcase(path)转换 path 的大小写和斜杠
os.path.normpath(path)规范 path 字符串形式
os.path.realpath(path)返回 path 的真实路径
os.path.relpath(path[, start])从 start 开始计算相对路径
os.path.samefile(path1, path2)判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2)判断 fp1 和 fp2 是否指向同一文件
os.path.samestat(stat1, stat2)判断 stat tuple stat1 和 stat2 是否指向同一个文件
os.path.split(path)把路径分割成 dirname 和 basename,返回一个元组
os.path.splitdrive(path)一般用在 windows 下,返回驱动器名和路径组成的元组
os.path.splitext(path)分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path)把路径分割为加载点与文件
os.path.walk(path, visit, arg)遍历path,进入每个目录都调用 visit 函数,visit 函数必须有3个参数 (arg, dirname, names),dirname 表示当前目录的目录名,names 代表当前目录下的所有文件名,args 则为 walk 的第三个参数
os.path.supports_unicode_filenames设置是否支持 unicode 路径名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】Dynamics 365Online 如何启用手机端APP的离线功能

隐约记得365自带的手机app是支持离线功能的,但实际尝试后发现不行,断开网络后直接提示下图这样,无法操作了 然后就去查询了下最新版的Online设置离线的方式,步骤还挺多的,本篇即来分享下 第一步,首先要确定…

【Python 标准库学习】系统相关的参数和函数库 — sys

欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ sys 模块提供了与 Python 解释器紧密相关的一些变量和函数,这些变量可能被解释器使用,也可能由解释器提供 sys 模块官方文档:https://docs.python.org/…

【转】Microsoft Teams快速上手系列-01Teams的前世今生

说到Teams,这到底是一个什么产品?有人说它是团队协作工具,有人说它是云视频系统,有人说它是Hub,还有人说它是微软有史以来发展最快的一个产品,还有人说它完全是一个高效办公神器。其实都是对的。 Teams集成…

【Python 标准库学习】时间相关的函数库 — time

欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ time 模块提供了各种时间相关的函数,该模块中的大多数函数是调用了所在平台 C 语言库的同名函数,这些函数的语义因平台而异,可能会在不同的平台有不同的…

【转】响应式详解

一两年以前,我发现,很多人都被响应式搞得很懵逼。 现在,我依然发现,还是有很多人,依旧被响应式搞得很懵逼。 所以,我也很懵逼。 到底是哪个环节出了问题,让这么多学习前端的同学对于这个响应…

【Python 标准库学习】容器数据类型库 — collections

欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ collections 模块实现了特定目标的容器,以提供Python标准内建容器 dict , list , set , 和 tuple 的替代选择。 collections 模块官方文档:https://docs.python.or…

【Python 标准库学习】安全哈希与摘要算法库 — hashlib

欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/ hashlib 模块针对不同的安全哈希和消息摘要算法实现了一个通用的接口。提供了常见的摘要算法,如MD5,SHA1等等。 摘要算法又称哈希算法、散列算法,摘要算…

【Python 必会技巧】[i for i in range(1,10)] — 列表解析式,列表中使用 for 循环

经常会看到类似于 [i for i in range(1,10)] 的表达式,这种表达式称为列表解析(List Comprehensions),类似的还有字典解析、集合解析等等。 列表解析式是将一个列表(实际上适用于任何可迭代对象)转换成另一…

【转】Microsoft Teams 常见问题

作者:Zimu 链接:https://www.zhihu.com/question/52246335/answer/244877022 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 功能还是很全的,能和skype、onedrive、yammer、shar…

Python 数据分析三剑客之 NumPy(一):理解 NumPy / 数组基础

CSDN 课程推荐:《Python 数据分析与挖掘》,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个…

【转】Asp.net的生命周期之应用程序生命周期

参考:http://msdn.microsoft.com/zh-cn/library/ms178473(vvs.100).aspx 参考:http://www.cnblogs.com/JimmyZhang/archive/2007/09/04/880967.html Http请求刚刚到达服务器的时候 当服务器接收到一个 Http请求的时候,IIS (Int…

Python 数据分析三剑客之 NumPy(二):数组索引 / 切片 / 广播 / 拼接 / 分割

CSDN 课程推荐:《Python 数据分析与挖掘》,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个…

【转】Asp.net的生命周期应用之IHttpModule和IHttpHandler

引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进行处理(应该记得Page类实现了IHttpHandler)。从 Http 请求处理流程 一文的最后的一…

【转】静态类与非静态类

静态类 继承(多态)、静态本身就是相反的。另外需要知道属性、事件其实是些特殊的方法。 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。 static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索…

Python 数据分析三剑客之 NumPy(三):数组的迭代与位运算

CSDN 课程推荐:《Python 数据分析与挖掘》,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个…

Python 数据分析三剑客之 NumPy(四):字符串函数总结与对比

CSDN 课程推荐:《Python 数据分析与挖掘》,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个…

【转】Microsoft Teams快速上手系列-02Teams组成概述及使用分享

在上一篇博客中介绍了Teams的前世今生,大家对Teams已经有了一个初步的认识,但是如上一篇文章中所说Teams是一个集成度很高的云协作平台,具体应该怎么去有效的利用起来呢?接下来这篇博客给大家全方位的分享一下Teams的组成部分以及…

Python 数据分析三剑客之 NumPy(五):数学 / 算术 / 统计 / 排序 / 条件 / 判断函数合集

CSDN 课程推荐:《Python 数据分析与挖掘》,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务。曾与联想、亨氏、网鱼网咖等企业合作多个…

【转】ASP.NET内幕 - IIS处理模型

介绍 微软的Active ServerPages,即ASP,自1996年首次发布以来,为Web开发者构建Web应用提供了一个丰富、复杂的框架。过去的几年它的基础架构发展的如此迅速,成为目前大家了解的ASP.NET,已经不再象它的前身。ASP.NET是构…