路径操作


os模块路径操作

from os import path (特点:模型方法操作)

  • p = path.join('a','b','c') : 返回字符串路径(由系统路径分隔符拼接)
  • p = path.curdir: 返回‘.’
  • p = path.abspath(path): 返回path的绝对路径
  • p = path.basename(path): 返回路径中的最后一部分的数据
  • p = path.dirname(path): 返回路径中除了最后部分外的数据
  • p = path.splitdrive(path): 返回路径的驱动器名

pathlib模块路径操作

from pathlib import Path (特点:面向对象方法操作)

  • Path对象初始化

    • p = Path(): 新建一个空的Path对象
    • p = Path('a','b','c'): 新建一个属性为a/b/c的Path对象
  • 路径拼接

    • p.joinpath(*PathObj): 拼接多个Path路径
    • p / p1: 路径拼接操作符(保证每次拼接时都有Path对象)
    • p.with_suffix(suffix): 替换扩展名,返回新的路径
    • p.with_name(name): 替换目录最后一个部分,返回新路径
  • 路径获取

    • 路径类型转换:
      • str(p): 将路径对象转成字符串
      • bytes(p): 将路径对象转成字节串
    • 获取父目录:
      • p.parent: 返回父目录,依旧是Path对象
      • p.parents: 返回迭代器对象,每个元素依旧是Path对象
    • 获取特定目录:(类方法)
      • Path.cwd(): 返回当前工作路径(绝对路径)
      • Path.home(): 返回当前用户的家目录
    • 获取绝对路径
      • p.resolve(): 返回据对路径,可以解析软连接
      • p.absolute(): 绝对路径
  • 路径分解

    • p.parts: 路径分解,返回元祖,包括路径中的每个部分
    • p.name: 路径的最后一部分(带扩展名)
    • p.stem: 路径最后一部分,不包括扩展名
    • p.suffix: 返回最后的扩展名
    • p.suffixes: 返回多个扩展名
  • 目录类型判定

    • p.is_dir(): 是否是目录,目录存在返回True
    • p.is_file(): 是否是文件,文件存在返回True
    • p.is_symlink(): 是否是软连接
    • p.is_socket(): 是否是socket文件
    • p.is_block_device():是否是块设备
    • p.is_char_device(): 是否是字符设备
    • p.is_absolute(): 是否是绝对路径
  • 目录创建判定

    • p.exists(): 判断目录或者文件是否存在
    • p.rmdir(): 删除空目录
    • p.touch(mode=0o666,exist_ok = True): 创建文件
    • p.as_uri(): 将路径返回为URI
    • p.mkdir(mode=0o777, parents=False, exist_ok=False):创建目录
      • parents: 是否创建父目录,True表示递归创建目录
      • exist_ok: False时,路径存在:FileExistsError异常
    • p.iterdir():返回一个生成器对象(元素是当前路径下的所有文件,包括绝对路径)
  • 通配符

    • p.golb(pattern): 通配给定的模式,返回生成器对象
    • p.rglob(pattern): 递归通配给定的模式,返回生成器对象
    • P.match(pattern): 返回布尔值
  • 目录/文件操作

    • 元数据获取
      • p.stat(): 返回当前目录的元数据(按照元祖类型存储,可以使用对象方式调用)
      • p.lstat(): 同stat(), 可以显示符号链接本身的文件信息
    • 文件打开
      • p.open(model,encoding)->fileobject: 使用方式与内置open一样
      • p.read_bytes(): 以rb模式读取对应路径的文件,返回二进制流
      • p.read_text() : rt模式读取对应路径的文件,返回文本
      • p.write_bytes(data): 以wb方式写入数据到路径对应的文件
      • p.wtite_text(data,encoding):以wt方式写入数据到路径对应的文件

你可能感兴趣的:(路径操作)