os.path 模块用法详解
总所周知,Windows 操作系统和 Linux 系统存在很多不兼容的地方。
文件路径就是一个明显的例子。
在 Linux 中,路径的分割采用正斜杠 /
,比如 /home/monkey
;
而在 Windows 中,路径分隔采用反斜杠 \
,比如 C:\Windows\System
。
我们在编码过程中,往往需要和文件或文件夹打交道。
如果程序中涉及到到路径操作,我们最好使用 Python 标准库中的 os.path 模块来实现。
这样能避免出现程序无法多平台运行的问题。
os.path
全称是Common pathname manipulations
, 译为通用路径名操作。
其作用是提供操作各种处理文件名以及路径名的函数。
因此,本文的内容是讲述os.path
模块中几个常见函数的用法。
1.获取文件(夹)绝对路径
abspath(path)
函数返回的是 path 经过规范化的绝对路径。
假设在 D 盘中有 Downloads 的文件夹,该文件夹中有叫 cat.jpg
的图片。
我们要获取这张图片的经过转椅的绝对路径,可以在 Downloads 文件夹中打开 DOS 窗口,然后进入 Python 环境。
1 | # 先引用 os 标准库 |
2.从路径中切割出文件名
split(path)
函数的作用是将传入的 path 分割成目录和文件名,然后以元组形式返回。
1 | import os |
3.将多个文件路径合并
多个路径组合合并需要用到函数 join(path1, path2, ...)
。
join 函数合并路径有个特点:在所有 path 参数中,只会从第一个绝对路径的参数开始合并。
这也意味着第一个绝对路径之前的参数将被忽略。
1 | import os |
4.判断路径是否存在
exists(path)
函数是判断一个文件或者文件夹的路径是否存在。
如果 path 存在,返回 True;如果 path 不存在,则返回 False;
1 | import os |
5.判断路径是否是一个存在的文件
判断 path 是否是一个存在文件,函数 isfile(path)
就能轻松搞定。
如果 path 是一个存在的文件,返回True。否则返回 False。
1 | import os |
6.将路径规范化
normcase(path)
的作用是解决操作系统间路径分割符的兼容性。
在 Linux 和 Mac 平台上,该函数会原样返回path,在 Windows 平台上会将路径中所有字符转换为小写,并将所有斜杠转换为反斜杠。
1 | import |
除了上述的常用函数之外,os.path 还有其他函数。
感兴趣的同学浏览 Python 官网文档。