Python路径操作pathlib

pathlib 模块提供了一种面向对象的方式来处理文件系统路径,使得路径操作更加直观和健壮。pathlib.Path 类根据操作系统提供具体的路径操作功能。

以下是 pathlib.Path 的一些常用方法:

获取路径信息

  • anchor: 返回路径的锚定部分(例如:Windows 的 'C:\',Unix 的 '/')。
  • name: 返回路径的最后一个组件(文件名或目录名)。
  • stem: 返回路径的最后一个组件,不包括扩展名。
  • suffix: 返回路径的最后一个组件的扩展名(例如:'.txt', '.tar.gz')。
  • suffixes: 返回路径的最后一个组件的所有扩展名组成的列表。
  • parent: 返回表示路径的父目录的新 Path 对象。
  • parents: 返回包含路径所有父目录的迭代器。
  • parts: 返回路径的每个组件作为字符串组成的元组。
  • drive: 在 Windows 上返回驱动器号(例如:'C:'),在 Unix 上返回空字符串。
  • root: 返回路径的根目录部分(例如:Windows 的 '\',Unix 的 '/')。

路径组合与比较

  • joinpath(*other): 将指定的路径组件连接到当前路径,返回新的 Path 对象。通常使用 / 运算符进行路径连接。
  • relative_to(*other): 计算当前路径相对于 other 的相对路径并返回。

路径解析与规范化

  • resolve(strict=False): 解析路径中的软链接,并返回绝对路径。如果 strict=True 且路径不存在,则会引发错误。
  • absolute(): 返回路径的绝对路径。与 resolve() 不同,它不解析软链接。

文件或目录信息检查

  • exists(): 如果路径指向现有文件或目录,则返回 True
  • is_dir(): 如果路径是目录,则返回 True
  • is_file(): 如果路径是文件,则返回 True
  • is_symlink(): 如果路径是软链接,则返回 True
  • is_socket(): 如果路径是套接字,则返回 True
  • is_fifo(): 如果路径是 FIFO(命名管道),则返回 True
  • is_block_device(): 如果路径是块设备,则返回 True
  • is_char_device(): 如果路径是字符设备,则返回 True
  • is_absolute(): 如果路径是绝对路径,则返回 True
  • is_relative(): 如果路径是相对路径,则返回 True
  • match(pattern): 如果路径匹配指定的 shell 风格模式,则返回 True
  • stat(): 返回路径对应的文件或目录的 stat 信息。

文件或目录操作

  • iterdir(): 返回目录中文件和子目录的 Path 对象迭代器。
  • glob(pattern): 在目录中查找匹配指定模式的文件和子目录,返回 Path 对象迭代器。
  • rglob(pattern): 递归地在目录及其子目录中查找匹配指定模式的文件和子目录,返回 Path 对象迭代器。
  • open(mode='r', buffering=-1, encoding=None, errors=None, newline=None): 打开路径指向的文件,返回文件对象。
  • read_bytes(): 以二进制模式打开文件并读取其内容为字节串。
  • read_text(encoding=None, errors=None): 以文本模式打开文件并读取其内容为字符串。
  • write_bytes(data): 以二进制模式打开文件并将指定的字节串写入。
  • write_text(data, encoding=None, errors=None): 以文本模式打开文件并将指定的字符串写入。
  • mkdir(mode=0o777, parents=False, exist_ok=False): 创建目录。parents=True 会创建所有必要的父目录,exist_ok=True 允许目录已存在而不报错。
  • touch(mode=0o666, exist_ok=True): 创建一个文件。如果文件已存在,则更新其访问时间和修改时间。
  • rename(target): 将路径重命名为 target
  • replace(target): 将路径移动或重命名为 target。如果 target 已存在,则会覆盖它。
  • unlink(missing_ok=False): 删除文件或软链接。如果 missing_ok=True 且路径不存在,则不会报错。
  • rmdir(): 删除一个空目录。
  • chmod(mode): 更改文件或目录的权限模式。
  • owner(): 返回文件或目录的拥有者名称。
  • group(): 返回文件或目录的所属组名称。
  • lstat(): 如果路径是软链接,则返回链接本身的 stat 信息(不解析链接指向的目标)。否则与 stat() 相同。
  • link_to(target): 创建一个硬链接,将当前路径作为指向 target 的硬链接。
  • symlink_to(target, target_is_directory=False): 创建一个软链接,将当前路径作为指向 target 的软链接。
  • readlink(): 返回软链接所指向的路径。
消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息