pathlib 的简单介绍
- 官方定义:Object-oriented filesystem paths(面向对象的文件系统路径)
- 官方推荐:pathlib是一个从3版本开始就能完全替代os.path的内置库,在python官网中这样说 "对于字符串的低级路径操作,您也可以使用该 os.path模块"
导入
1 from pathlib import Path
获取上层、上上层目录
1 print(Path.cwd().parent.parent)
拼接目录
1 #获取当前目录的上上层目录下的文件:
2 paths = ["apk","download"]
3 print(Path.cwd().parent.parent.joinpath(*paths))
创建文件夹并重命名
1 # 创建 project/test目录
2 Path('project/test').mkdir(parents=True, exist_ok=True)
3 # 将test.txt 重命名为 project/tests.txt
4 Path('test.txt').rename('project/test.txt')
pathlib的常用基本方法
1 Path.parents # 返回所有上级目录的列表
2 Path.parts # 分割路径 类似os.path.split(), 不过返回元组
3 Path.root # 返回路径的根目录
4 Path.is_dir() # 判断是否是目录
5 Path.is_dir() # 是否是文件
6 Path.exists() # 判断路径是否存在
7 Path.open() # 打开文件(支持with)
8 Path.resolve() # 返回绝对路径
9 Path.cwd() # 返回当前目录
10 Path.iterdir() # 遍历目录的子目录或者文件
11 Path.mkdir() # 创建目录
12 Path.rename() # 重命名路径
13 Path.unlink() # 删除文件或目录(目录非空触发异常)
14 Path.joinpath() # 拼接路径
TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
- 使用了一个PosixPath的变量要与str类型的相关联,“+”这个符号有相加的作用也有连接的作用,不知道如何去处理。
- 因此,可调用***str()函数***,将非字符串值表示为字符串。