获取文件所在父目录路径应使用os.path.dirname或pathlib.Path.parent;确认目录存在用os.path.isdir或Path.is_dir();查看目录内容用os.listdir或Path.iterdir()。
在 Python
中,“查看文件的目录”通常是指获取某个文件所在的**父目录路径**(即文件所在文件夹的路径),而不是列出该目录下的所有文件。下面分几种常见需求说明:
获取文件的所在目录(推荐用 os.path.dirname 或 pathlib.Path.parent)
假设你有一个文件路径,比如 "./data/config.txt" 或 r"C:\Users\Alice\report.pdf",想得到它所在的文件夹路径:
- 用 os.path(传统方式):
import os
file_path = "data/config.txt"
dir_path = os.path.dirname(os.path.abspath(file_path))
print(dir_path) # 输出绝对路径形式的目录 - 用 pathlib(更现代、推荐):
from pathlib import Path
file_path = Path("data/config.txt")
dir_path = file_path.resolve().parent
print(dir_path) # 同样输出绝对路径的目录
检查该目录是否存在
拿到目录路径后,常需确认它是否真实存在,避免后续操作出错:
-
os.path.isdir(dir_path)→ 返回True表示是有效目录 -
Path(dir_path).is_dir()→ 同样判断是否为目录(pathlib 方式)
列出该目录下的所有文件和子目录
如果你其实是想“查看目录里有哪些内容”,可以用:
-
os.listdir(dir_path)→ 返回文件/文件夹名列表(不带路径) -
[f.name for f in Path(dir_path).iterdir()]→ pathlib 写法,更灵活 - 如只想要文件(排除文件夹):
[f for f in Path(dir_path).iterdir() if f.is_file()]
基本上就这些。关键分清:是“找文件在哪一个目录”,还是“看这个目录里有什么”——选对方法,不复杂但容易忽略。








