当我们使用Pathlib的时候,相比于os.path,写法通常更简洁、易读,而且用/拼接路径很自然,windows、macOS、Linux都可以使用,判断、遍历和读写文件的方法集中在一个对象上,不容易把普通字符串和文件路径混淆,在基于以上的便利度上,我们来一起看一下Pathlib的用法。

将“路径”和“路径指向的文件”区分开

当我们使用Path的时候,其创建的对象不是磁盘上的文件,而是对文件位置的描述。例如我们创建file_path = Path("data/user.json"),这句话知识创建一个Python对象,用来表达我想操作当前工作目录中,data目录下的users.json,执行后,即使datausers.json都不存在,这个path对象仍然可以创建成功。

那我们创建对象有什么用,因为我们可以使用这个对象操作对应的位置,如判断文件是否存在if file_path.exists(),整整穿件文件path.touch(),创建或覆盖文件并写入内容path.write_text(...),真正创建文件path.mkdir(...)

举例一些常用的方法

实际上没什么可记的方法,用的时候直接搜就好了

获取路径信息:

1
2
3
4
5
6
7
p = Path("/home/user/report.pdf")

print(p.name) # report.pdf
print(p.stem) # report
print(p.suffix) # .pdf
print(p.parent) # /home/user
print(p.parts) # ('/', 'home', 'user', 'report.pdf')

判断路径状态:

1
2
3
4
5
p = Path("data/users.json")

p.exists() # 是否存在
p.is_file() # 是否是文件
p.is_dir() # 是否是目录