pathlib模块

一、前言

  pathlib库,以前一直使用的os模块,直到使用zipfile解压文件时,遇到了万恶的编码问题。突然发现还有这么一个模块的存在。所以记录下方便以后使用。

  官方文档


 

二、使用

  • 导入模块
from pathlib import Path
  • 用法
from  pathlib import *

# 实例化一个路径对象,也可以用于拼接字符串相当于os.path.join
file_path = Path('F:\oldboypython\practice\week14-Djiango','day65')

list_obj = file_path.parents[1]   # 返回file_path祖辈路径,以列表形式,可通过序号取值。

# .iterdir() 遍历文件夹下所有文件及文件夹,返回的值是一个迭代器,
for file in file_path.iterdir():
    print(file)
  • 常用方法
Path.iterdir()  #遍历目录的子目录或者文件

Path.is_dir()  #判断是否是目录

Path.glob()  #过滤目录(返回生成器)

Path.resolve()  #返回绝对路径

Path.exists()  #判断路径是否存在

Path.open()  #打开文件(支持with)

Path.unlink()  #删除文件或目录(目录非空触发异常)


基本属性:

Path.parts  #分割路径 类似os.path.split(), 不过返回元组

Path.drive  #返回驱动器名称

Path.root  #返回路径的根目录

Path.anchor  #自动判断返回drive或root

Path.parents  #返回所有上级目录的列表



改变路径:

Path.with_name()  #更改路径名称, 更改最后一级路径名

Path.with_suffix()  #更改路径后缀

Path.joinpath()  #拼接路径

Path.relative_to()  #计算相对路径

 

测试路径:

Path.match()  #测试路径是否符合pattern

Path.is_dir()  #是否是文件

Path.is_absolute()  #是否是绝对路径

Path.is_reserved()  #是否是预留路径

Path.exists()  #判断路径是否真实存在

其他方法:

Path.cwd()  #返回当前目录的路径对象

Path.home()  #返回当前用户的home路径对象

Path.stat()  #返回路径信息, 同os.stat()

Path.chmod()  #更改路径权限, 类似os.chmod()

Path.expanduser()  #展开~返回完整路径对象

Path.mkdir()  #创建目录

Path.rename()  #重命名路径

Path.rglob()  #递归遍历所有子目录的文件

 

posted @ 2018-06-18 15:24  CLuke  阅读(161)  评论(0编辑  收藏  举报
Live2D