python中如何遍历指定目录

python中如何遍历指定目录

作者:Joshua Lee发布时间:2026-01-07阅读时长:0 分钟阅读次数:18

用户关注问题

Q
如何使用Python列出某个目录下的所有文件?

我想通过Python查看指定目录里面有哪些文件,应该使用什么方法?

A

使用os模块中的listdir函数

可以使用os模块中的listdir函数来列出指定目录下的所有文件和文件夹。示例代码:

import os
files = os.listdir('/path/to/directory')
print(files)

这样就可以得到目录中的所有条目。

Q
如何递归遍历目录及其子目录中的所有文件?

需要获取一个目录及其内部所有子目录中的所有文件,怎么用Python实现?

A

利用os.walk实现递归遍历

os.walk是一个非常方便的函数,可以遍历目录树,返回目录路径、子目录列表和文件列表。示例代码:

import os
for root, dirs, files in os.walk('/path/to/directory'):
    for file in files:
        print(os.path.join(root, file))

这个代码会打印指定目录及其所有子目录中的文件路径。

Q
Python中有没有更现代的模块可以遍历目录?

除了os模块,有没有更简单或者功能更丰富的方法来遍历目录?

A

使用pathlib模块提供的Path类

pathlib是Python 3中的标准库,提供了面向对象的方式操作文件系统。遍历目录可以使用Path类的rglob方法。

示例代码:

from pathlib import Path
path = Path('/path/to/directory')
for file in path.rglob('*'):
    print(file)

rglob会递归匹配所有文件和文件夹,适合遍历整个目录树。