本文要点
先建立一个只用于练习的目录结构
pathlib 的 PurePath 提供几个只做字符串处理的属性,不访问文件系统
如果 is_dir() 返回 False,先确认路径拼写和当前工作目录是否正确

本文目录
先回答:想整理文件前,用 pathlib 检查什么
如果你准备整理一个目录,先别急着移动或重命名文件。用 pathlib 先做三件检查:这个路径是不是目录、目录里有哪些条目、每个文件的后缀是什么。
pathlib 是 Python 标准库中表示文件系统路径的模块,从 Python 3.4 开始提供。它把路径做成对象,Path 是最常用的具体路径类,会根据当前系统生成对应的路径类型。本文只讨论查看目录内容和读取后缀这些基础操作,不涉及删除、批量改名或系统级修改。
适用情境:你有一个自建示例目录,想先看清楚里面有什么,再决定后续怎么整理。本文所有操作都只针对自建示例,不针对真实工作目录。
自建示例目录与查看目录内容
先建立一个只用于练习的目录结构。下面命令只创建示例文件,不修改系统其他位置。
from pathlib import Path
base = Path("demo_check")
base.mkdir(exist_ok=True)
(base / "notes.txt").write_text("示例文本")
(base / "photo.jpg").write_bytes(b"demo")
(base / "archive.tar.gz").write_bytes(b"demo")
(base / "no_suffix").write_text("无后缀")检查这个路径是不是目录:
p = Path("demo_check")
print(p.is_dir())输出应为 True。本例用于查看已建立的示例路径是否指向目录。异常返回值须以你所用版本的文档为准。
列出目录内容:
for child in p.iterdir():
print(child)iterdir() 会逐个产出目录中的条目,顺序是任意的,不包含 "." 和 ".."。如果你需要固定顺序,可以自己排序后再看。
查看文件后缀:suffix、suffixes 与 stem
pathlib 的 PurePath 提供几个只做字符串处理的属性,不访问文件系统。
suffix 是最后一个点号后面的部分,通常叫文件扩展名:
print(Path("demo_check/notes.txt").suffix)
print(Path("demo_check/archive.tar.gz").suffix)
print(Path("demo_check/no_suffix").suffix)输出依次是 .txt、.gz 和空字符串。注意 archive.tar.gz 的 suffix 只取最后一段 .gz。
suffixes 返回一个列表,包含路径中多个后缀:
print(Path("demo_check/archive.tar.gz").suffixes)输出是 ['.tar', '.gz']。
stem 是去掉最后一个后缀后的文件名部分:
print(Path("demo_check/archive.tar.gz").stem)输出是 archive.tar。
把这些属性放进遍历里,就能先看清目录中每个条目的后缀:
for child in sorted(Path("demo_check").iterdir()):
print(child.name, "|", child.suffix)这段代码只读取名称和后缀,不移动、不重命名、不删除任何文件。
检查结果与常见错误排查
如果 is_dir() 返回 False,先确认路径拼写和当前工作目录是否正确。可以用 Path.cwd() 查看当前目录,再用 resolve() 得到绝对路径,帮助判断你实际检查的是哪个位置。
如果后缀和你预期不一致,例如 archive.tar.gz 只显示 .gz,这是 suffix 的定义决定的:它只取最后一个点号后的部分。需要看全部后缀时改用 suffixes。
如果遍历结果顺序每次不同,这是正常现象,iterdir() 不保证顺序。需要稳定输出时,用 sorted() 包一层。
适用限制与事实依据
本文只覆盖 pathlib 的基础查看操作:Path、iterdir()、is_dir()、suffix、suffixes、stem,以及用于确认位置的 cwd() 和 resolve()。没有涉及删除、移动、批量重命名、递归遍历全部高级参数或系统修改。
行为限制:iterdir() 返回顺序任意;suffix 只取最后一个点号后的部分;suffixes 返回后缀列表;stem 去掉最后一个后缀。
安全提醒:本文示例只创建和读取自建目录中的文件。真实整理前请先备份,不要直接对重要目录执行移动、重命名或删除操作。
事实依据:Python 官方文档 pathlib 模块页面。
观看知识要点视频 18 秒
18秒无旁白要点导览,文字来自已审核正文;完整步骤、条件及参考资料见下方。
参考资料
以下原始资料提供本文依据;请结合日期、适用条件和产品说明查阅。
请结合原始资料的适用条件阅读。
返回文件整理 →