python如何获取目录结构

python如何获取目录结构

作者:Elara发布时间:2026-01-05阅读时长:0 分钟阅读次数:13

用户关注问题

Q
如何使用Python列出指定目录下的所有文件和子目录?

我想用Python获取一个目录下所有文件和子目录的列表,有哪些方法可以实现?

A

使用os模块列出目录内容

可以使用Python内置的os模块中的os.listdir()函数来获取指定目录下的所有文件和子目录名,返回的是一个列表。示例代码:

import os

files_and_dirs = os.listdir('your_directory_path')
print(files_and_dirs)
Q
怎样递归获取目录及其子目录下的所有文件路径?

如何用Python遍历一个目录及所有子目录,获取里面所有文件的完整路径?

A

利用os.walk()递归遍历目录

Python中的os.walk()函数允许遍历目录树,能够获取当前目录路径、其中的文件夹以及文件名。示例代码如下:

import os

for root, dirs, files in os.walk('your_directory_path'):
    for file in files:
        print(os.path.join(root, file))
Q
有没有更现代的方式用Python获取目录结构信息?

除了os模块,有没有更方便或现代的Python库来获取目录结构?

A

使用pathlib模块操作目录结构

pathlib是Python 3.4以后引入的面向对象路径操作模块,使用起来更加简洁。获取目录内容可以使用Path类的iterdir()方法,遍历目录及子目录使用rglob()。示例代码:

from pathlib import Path

p = Path('your_directory_path')

for entry in p.iterdir():
    print(entry)  # 列出当前目录下所有文件和文件夹

for file in p.rglob('*'):
    print(file)  # 递归列出所有文件和目录