美文网首页
路径操作

路径操作

作者: 10点睡7点起 | 来源:发表于2018-04-30 21:31 被阅读0次

    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方式写入数据到路径对应的文件

    相关文章

      网友评论

          本文标题:路径操作

          本文链接:https://www.haomeiwen.com/subject/dzetrftx.html