001.02 pathlib 路径包

文件建立日期: 2020/01/02
最后修订日期: 2021/07/17
相关软件信息:

Win 10 Python 3.9.5

参考文件: pathlib — Object-oriented filesystem paths

说明: 所有内容欢迎引用, 只需注明来源及作者, 本文内容如有错误或用词不当, 敬请指正.

标题: 001.02 pathlib路径包

PATHLIB 路径包分为两大类

Python

1. class pathlib.PurePath(*pathsegments) 单纯路径

  • 只会作一些路径处理, 没有真正的档案 I/O, 可以在不同的平台运作, 会建立一个os.PathLike接口, 代表会返回字符串的文件档案系统路径.
  • 参数
    • pathsegments可以是以下各项的组合, 以逗号隔开.
      • 路径字符串
      • 一个os.PathLike接口对象
      • 路径对象
    • 没给参数, 省缺为”.”, 代表目前所在的目录.
  • 返回组合后的路径对象
    • class pathlib.PurePosixPath(*pathsegments)

    • class pathlib.PureWindowsPath(*pathsegments)

2. class pathlib.Path(*pathsegments) 具体路径

  • 除了一些路径处理, 还有档案 I/O, 因此不能在不同的平台运作; 会建立一个os.PathLike接口, 代表会返回字符串的文件系统路径.
  • os.PathLike 文件系统路径对象
  • 参数
    • pathsegments
  • 返回
    • class pathlib.PosixPath(*pathsegments)

    • class pathlib.WindowsPath(*pathsegments)

PurePath方法

方法 说明
PurePath.anchor 磁盘驱动器及根路径字符串 “D:\“
PurePath.as_posix() 带有”/“的路径字符串 “D:/path/filename.ext”
PurePath.as_uri() 絶对路径档案 URI (统一资源标志符) 的路径 “file:///D:/path/filename.ext”
PurePath.drive 磁盘驱动器字符串 “D:”
PurePath.is_absolute() 检查是否是带有磁盘驱动器及根目录的絶对路径
PurePath.is_reserved() 在PureWindowsPath下, 是否是Windows的保留路径
PurePath.joinpath() 路径合并
PurePath.match() 由右至左匹配路径格式是否符合pattern的要求
PurePath.name 檔名 “filename.ext”
PurePath.parent 父路径 WindowsPath(“D:/path’)
PurePath.parents 所有父层的路径 <WindowsPath.parents>
PurePath.relative_to() 路径差异
PurePath.root 根路径字符串 “\“
PurePath.stem 最终路径或文件名, 不含最一个附属檔名 “filename”
PurePath.suffix 附属檔名 “.ext”
PurePath.suffixes 所有附属文件名 [“.ext”]
PurePath.with_name() 新文件名的路径
PurePath.with_suffix() 带有新扩充文件名的路径

Class pathlib.Path 另外增加的方法

方法 说明
Path.chmod() 改变档案的模式及权限
Path.cwd() 改换目前目录所在
Path.exists() 路径所指档案或目录是否存在
Path.expanduser() 展开包含 ~ 和 ~user 的构造
Path.glob() 通配得到所有目录中的档案
Path.group() 返回拥有此档案的用户组
Path.home() 当前用户的目录路径对象
Path.is_block_device() 是否是一个阻塞设备
Path.is_char_device() 是否是一个字符设备
Path.is_dir() 是否是一个目录
Path.is_fifo() 是否是一个先进先出FIFO
Path.is_file() 是否是一个一般的档案
Path.is_mount() 检查父路径与路径是否在同一设备上, 而且有一样的i-node.
Path.is_socket() 是否是一个Unix socket
Path.is_symlink() 是否是一个符号链接
Path.iterdir() 迭代目录内容
Path.lchmod() 如同Path.chmod(), 但是如果是符号链接, 改变的是符号链接的模式
Path.link_to() 建立一个硬链接到target路径
Path.lstat() 如同Path.stat(), 但是如果是符号链接, 返回的是符号链接的状态
Path.mkdir() 建立新目录
Path.open() 打开档案
Path.owner() 该档案拥有者
Path.read_bytes() 读取字符对象档案的二位内容
Path.read_text() 读取对象档案的字符串内容
Path.rename() 更改档案或目录的路径名, 并返回新的路径
Path.replace() 直接更改档案或目录的路径名, 并返回新的路径.
Path.resolve() 返回絶对路径, 并解开符号链接并去掉”..” WindowsPath(‘path/filename.ext’)
Path.absolute() 返回絶对路径, 并解开符号链接并去掉”..” WindowsPath(‘D:/path/filename.ext’)
Path.rglob() 类似Path.glob()参数前加”**/“找出所有符合pattern的档案或目录
Path.rmdir() 移除空目录
Path.samefile() 是否指向同一个档案, 类似os.path.samefile()以及os.path.samestat()
Path.stat() 路径的信息
Path.symlink_to() 将路径转为指向target的符号链接
Path.touch() 建立新的档案
Path.unlink() 移除档案或符号链接
Path.write_bytes() 写入位数据
Path.write_text() 写入字符串数据

PurePath/Path与OS相对应函数的列表

os, os.path pathlib
os.path.abspath() Path.resolve()
os.chmod() Path.chmod()
os.mkdir() Path.mkdir()
os.rename() Path.rename()
os.replace() Path.replace()
os.rmdir() Path.rmdir()
os.remove(), os.unlink() Path.unlink()
os.getcwd() Path.cwd()
os.path.exists() Path.exists()
os.path.expanduser() Path.expanduser(), Path.home()
os.path.isdir() Path.is_dir()
os.path.isfile() Path.is_file()
os.path.islink() Path.is_symlink()
os.stat() Path.stat(), Path.owner(), Path.group()
os.path.isabs() PurePath.is_absolute()
os.path.join() PurePath.joinpath()
os.path.basename() PurePath.name
os.path.dirname() PurePath.parent
os.path.samefile() Path.samefile()
os.path.splitext() PurePath.suffix
本作品采用《CC 协议》,转载必须注明作者和本文链接
Jason Yang
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!