栏目分类Python标准库os常用函数和属性详解
你的位置:Aimedis (new)中文网 > Moonriver中文网 >Python标准库os常用函数和属性详解
发布日期:2025-01-04 11:06 点击次数:136
1. OS标准库简介
顾名思义,OS表示Operating System,即操作系统。OS标准库是一个操作系统接口模块,提供一些方便使用操作系统相关功能的函数,具体安装位置可通过导入os模块查看os.__file__属性得到。当需要在Python代码中调用OS相关功能实现业务逻辑或者无法直接使用命令行工具时,我们就需要考虑导入此模块,因此有必要进行深入学习。
2. OS标准库常用函数和属性
2.1 文件和目录
2.1.1 os.getcwd()
返回表示当前工作目录的字符串
2.1.2 os.mkdir(path, mode=0o777, *, dir_fd=None)
以指定数字表示的权限模式mode创建一个名为path的目录。某些系统会忽略 mode,如果没有忽略,那么Linux系统来说,新建文件夹的权限=指定数字表示的权限模式mode-当前系统用户的umask默认权限,如下所示
os.rmdir(path, *, dir_fd=None)
移除(删除)目录 path。如果目录不存在或不为空,则会分别抛出 FileNotFoundError 或 OSError 异常。
os.chdir(path)
将当前工作目录更改为 path
os.listdir(path='.')
返回一个包含指定path下所有文件和目录名称的按任意顺序排列的列表,特殊条目’.‘和’…'除外
2.2 os.path常见路径操作
2.2.1 os.path.abspath(path)
返回路径path 的绝对路径(标准化的),相当于字符串拼接,路径path不存在也不会报错
2.2.2 os.path.basename(path)
返回路径 path 的基本名称
2.2.3 os.path.dirname(path)
返回路径 path 的目录名称
2.2.4 os.path.exists(path)
判断path是否指向一个已存在路径或已打开的文件描述符,存在返回True,不存在返回False
2.2.5 os.path.isabs(path)
判断path是否为一个绝对路径,是则返回True,不是或不存在则返回False。在 Unix 上,它就是以斜杠开头,而在 Windows 上,它可以是去掉驱动器号后以斜杠(或反斜杠)开头。
2.2.6 os.path.isfile(path)
若path为指向一个已存在文件的符号链接或一个已存在文件路径,返回True。若path为一个文件夹路径或不存在路径,返回False。
由上图可发现/opt/conda/bin/python为一个符号链接(软链接)指向一个已存在文件路径/opt/conda/bin/python3.7
2.2.7 os.path.isdir(path)
若path为指向一个已存在文件夹的符号链接或一个已存在文件夹路径,返回True。若path为一个文件路径或不存在路径,返回False。
由上图可知root用户主目录下存在一个软链接symlink2codennunet指向一个已存在文件夹路径
2.2.8 os.path.islink(path)
若path代表一个已存在的符号链接,则返回True,反之则返回False。如果 Python 运行时不支持符号链接,则总是返回 False
2.2.9 os.path.join(path, *paths)
拼接两个或多个路径部分,按需要插入/。如果参数中某个部分是绝对路径,则绝对路径前的路径都将被丢弃,并从绝对路径部分开始连接。如果最后一部分为空,则结果将以分隔符结尾。
2.2.10 os.path.normcase(path)
规范路径名称的大小写。 在 Windows 上,将路径名称中的所有字符转为小写,并将正斜杠转为反斜杠。 在其他操作系统上,将路径不加修改地返回。
Linux操作系统
Windows操作系统
2.2.11 os.path.split(path)
将路径 path 拆分为一对,即 (head, tail),其中,tail 是路径的最后一部分,而 head 里是除最后部分外的所有内容。tail 部分不会包含斜杠,如果 path 以斜杠结尾,则 tail 将为空。如果 path 中没有斜杠,head 将为空。如果 path 为空,则 head 和 tail 均为空。head 末尾的斜杠会被去掉,除非它是根目录(即它仅包含一个或多个斜杠)。
2.2.12 os.path.splitext(path)
将路径 path 拆分为一对,即 (root, ext),使 root + ext == path,其中 ext 为空或以英文句点开头,且最多包含一个句点。路径前的句点将被忽略,例如 splitext(‘.cshrc’) 返回 (‘.cshrc’, ‘’)。
2.3 其他常用命令
2.3.1 os.name
导入的依赖特定操作系统的模块的名称,返回’posix’表示Linux,'nt’表示Windows,'java’表示Java虚拟机
2.3.2 os.__file__
以字符串形式返回os模块安装的绝对路径
3. 参考文献
os — 操作系统接口模块 — Python 3.7.13 文档os.path — 常见路径操作 — Python 3.7.13 文档Linux umask详解:令新建文件和目录拥有默认权限 (biancheng.net)Linux chmod命令:修改文件或目录的权限 (biancheng.net)
到此这篇关于Python标准库os常用函数和属性详解的文章就介绍到这了,更多相关Python标准库os内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!