001.02 pathlib 路径包
文件建立日期: 2020/01/02
最后修订日期: 2021/07/17
相关软件信息:
Win 10 | Python 3.9.5 |
参考文件: pathlib — Object-oriented filesystem paths
说明: 所有内容欢迎引用, 只需注明来源及作者, 本文内容如有错误或用词不当, 敬请指正.
标题: 001.02 pathlib路径包
PATHLIB 路径包分为两大类
1. class pathlib.PurePath(*pathsegments) 单纯路径
- 只会作一些路径处理, 没有真正的档案 I/O, 可以在不同的平台运作, 会建立一个os.PathLike接口, 代表会返回字符串的文件档案系统路径.
- 参数
- pathsegments可以是以下各项的组合, 以逗号隔开.
- 路径字符串
- 一个os.PathLike接口对象
- 路径对象
- 没给参数, 省缺为”.”, 代表目前所在的目录.
- pathsegments可以是以下各项的组合, 以逗号隔开.
- 返回组合后的路径对象
2. class pathlib.Path(*pathsegments) 具体路径
- 除了一些路径处理, 还有档案 I/O, 因此不能在不同的平台运作; 会建立一个os.PathLike接口, 代表会返回字符串的文件系统路径.
- os.PathLike 文件系统路径对象
- 参数
- 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 协议》,转载必须注明作者和本文链接