Python中文件路径名的操作
1 文件路径名操作
对于文件路径名的操作在编程中是必不可少的,比如说,有时候要列举一个路径下的文件,那么首先就要获取一个路径,再就是路径名的一个拼接问题,通过字符串的拼接就可以得到一个路径名。Python中3.4版本前使用os.path模块中的函数来操作路径名;3.4版本开始提供pathlib模块,使用Path对象来对目录和文件进行操作。
2 os.path模块

3 pathlib模块
3.1 目录操作
3.1.1 路径拼接和分解
- 操作符"/"对路径拼接
“/”操作符可以对两个Path对象进行拼接、字符串和Path对象或者Path对象和字符串进行拼接
- parts属性
parts属性,可以返回路径中的每一个部分
- joinpath
joinpath(*other)连接多个字符串到Path对象中

3.1.2 获取路径
- str获取路径字符串
- bytes获取路径字符串的bytes

3.1.3 获取路径中的父目录
- parent属性返回目录的逻辑父目录
- parents属性返回父目录序列,索引0是直接的父目录

3.1.4 其他属性及方法
属性 | 含义 |
name | 目录的最后一个部分 |
stem | 目录最后一个部分,不包含后缀 |
suffix | 目录中最后一个部分的扩展名 |
suffixes | 返回多个扩展名列表 |
和以上四个属性相关的方法:
- with_suffix(suffix)补充扩展名到路径尾部,返回新的路径,扩展名存在则修改之
- with_name(name)替换目录最后一个部分并返回一个新的路径

和文件类型相关的方法:
方法 | 功能 |
is_dir() | 是否是目录,目录存在返回True |
is_file() | 是否是普通文件,文件存在返回True |
is_symlink() | 是否软链接 |
is_socket() | 是否是socket文件 |
is_block_device() | 是否是块设备 |
is_char_device() | 是否是字符设备 |
is_absolute() | 是否是绝对路径 |
其他几种方法:
方法 | 功能 |
cwd() | 返回当前工作目录 |
home() | 返回当前家目录 |
resolve() | 返回一个新的路径,这个新路径就是当前Path对象的绝对路径。 如果是软链接则直接被解析 |