from pathlib import Path,文件目录路径都有哪些方法可用
以下是
pathlib.Path 中各个方法和属性的详细说明:路径属性与基础操作
absolute():返回当前路径的绝对路径(不解析符号链接)。anchor:返回路径的锚点(根目录部分),如 Windows 中的C:\或 Linux 中的/。as_posix():将路径转换为 POSIX 格式(用/分隔),跨平台时常用。as_uri():将路径转换为file://格式的 URI,如file:///home/user/file.txt。cwd():返回当前工作目录的Path对象(类方法,需用Path.cwd()调用)。drive:返回路径中的驱动器名(Windows 专用),如C:。home():返回当前用户的主目录(类方法,Path.home())。is_absolute():判断路径是否为绝对路径(返回True/False)。name:返回路径的最后一部分(文件名或目录名),如file.txt。parent:返回父目录的Path对象(直接上级目录)。parents:返回所有父目录的迭代器(从直接上级到根目录)。parts:将路径拆分为元组,如Path("/a/b/c").parts结果为('/', 'a', 'b', 'c')。root:返回路径的根目录,如 Linux 中的/或 Windows 中的\。stem:返回文件名的主干(不含最后一个后缀),如file.txt的stem是file。suffix:返回文件名的最后一个后缀,如file.tar.gz的suffix是.gz。suffixes:返回文件名的所有后缀列表,如file.tar.gz的suffixes是['.tar', '.gz']。
路径判断与检查
exists():判断路径(文件或目录)是否存在。is_block_device():判断是否为块设备(如硬盘分区)。is_char_device():判断是否为字符设备(如终端)。is_dir():判断是否为目录。is_fifo():判断是否为 FIFO 管道文件。is_file():判断是否为普通文件。is_mount():判断路径是否为挂载点。is_relative_to(other):判断当前路径是否是other路径的子路径。is_reserved():判断路径是否为系统保留名称(如 Windows 中的CON)。is_socket():判断是否为 socket 文件。is_symlink():判断是否为符号链接。match(pattern):判断路径是否匹配通配符模式(如*.txt)。samefile(other):判断当前路径与other是否指向同一个文件(通过 inode 判断)。
路径操作与文件处理
chmod(mode):修改路径的权限(类似chmod命令)。expanduser():解析路径中的~为用户主目录(如~/file变为/home/user/file)。glob(pattern):遍历当前目录中匹配通配符的文件 / 目录(非递归),返回迭代器。hardlink_to(target):创建硬链接,将当前路径链接到target。iterdir():遍历当前目录下的所有文件和子目录,返回迭代器。joinpath(*other):拼接路径,如path.joinpath("a", "b")等价于path / "a" / "b"。lchmod(mode):修改符号链接本身的权限(不跟随链接)。link_to(target):同hardlink_to(创建硬链接)。lstat():获取符号链接本身的元数据(不跟随链接,返回os.stat_result对象)。mkdir(mode=0o777, parents=False, exist_ok=False):创建目录。parents=True表示递归创建父目录;exist_ok=True表示目录已存在时不报错。open(mode='r', **kwargs):打开文件,返回文件对象(类似open()函数)。read_bytes():以字节形式读取文件内容(等价于open().read())。read_text(encoding=None):以文本形式读取文件内容。readlink():返回符号链接指向的目标路径。relative_to(other):返回当前路径相对于other的相对路径。rename(target):重命名路径(类似os.rename)。replace(target):替换目标路径(若目标存在则覆盖)。resolve(strict=False):返回绝对路径并解析所有符号链接。strict=True时,若路径不存在则报错。rglob(pattern):递归遍历所有子目录中匹配通配符的文件 / 目录(等价于** /pattern)。rmdir():删除空目录(目录非空则报错)。stat():获取文件 / 目录的元数据(跟随符号链接,返回os.stat_result对象)。symlink_to(target, target_is_directory=False):创建符号链接,指向target。touch(mode=0o666, exist_ok=True):创建空文件(若文件存在则更新修改时间)。unlink(missing_ok=False):删除文件或符号链接。missing_ok=True表示文件不存在时不报错。with_name(name):返回更换文件名的新路径(保持目录不变),如file.txt→new.txt。with_stem(stem):返回更换文件主干的新路径,如file.txt→new.txt。with_suffix(suffix):返回更换文件后缀的新路径,如file.txt→file.md。write_bytes(data):以字节形式写入文件(覆盖原有内容)。write_text(data, encoding=None):以文本形式写入文件(覆盖原有内容)。
权限与所有者
group():返回路径所属的用户组名称。owner():返回路径的所有者名称。
这些方法覆盖了文件目录操作的大部分场景,结合面向对象的语法,比传统的
os 模块更直观易用。
浙公网安备 33010602011771号