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