`n Python中如何实现文件目录的遍历?

Python中如何实现文件目录的遍历?

Clock Icon 发布时间:2026/8/7 2:38  · 

NET/" style="text-decoration: none; color: inherit;" title="Python">Python中进行文件目录的遍历可以利用多种模块实现,最常用的就是`os`和`pathlib`。这两个模块各自具有独特的功能,使得遍历目录的过程变得简洁而高效。
使用`os`模块的方式中,`os.walk()`是高效的选择。它会返回一个生成器,适合用于遍历所有的子目录和文件。示例代码如下:
```NET/" style="text-decoration: none; color: inherit;" title="Python">Pythonimport osfor root, dirs, files in os.walk('目标目录'): for file in files: print(os.path.join(root, file))```这段代码将会打印出目标目录及其所有子目录中的文件路径。
另一种遍历方式是使用`os.listdir()`。该方法可以列出指定目录中的所有文件和子目录。简单示例如下:
```NET/" style="text-decoration: none; color: inherit;" title="Python">Pythonimport osfor item in os.listdir('目标目录'): print(item)```需要注意的是,它只会列出直接子项,而不包括嵌套的目录内容。
接着,`pathlib`模块为遍历目录提供了更现代的接口。利用`Path`对象,可以轻松实现遍历。以下是一个使用`pathlib`的方法:
```NET/" style="text-decoration: none; color: inherit;" title="Python">Pythonfrom pathlib import Pathpath = Path('目标目录')for file in path.rglob('*'): print(file)````rglob('*')`可以递归查找所有文件和目录,非常简便。
对于遍历特定类型的文件,使用`pathlib`显得更为直观。例如,查找特定后缀的文件可以这样实现:
```NET/" style="text-decoration: none; color: inherit;" title="Python">Pythonfor file in path.glob('*.txt'): print(file)```这段代码会仅输出文本文件的路径。
在实际应用中,可以结合条件判断进一步处理遍历出的文件。比如,只对某些文件进行操作,或在遍历的过程中收集文件信息。
使用`os`的`stat()`方法,可以获取文件属性,例如大小、修改时间等。这对于文件分析非常有用。
完成目录遍历后,合理处理文件和目录是必要的。可以进行分类、移动或者删除等操作,这需要结合具体需求来实现。
以文件复制为例,使用`shutil`模块可以方便地完成:
```NET/" style="text-decoration: none; color: inherit;" title="Python">Pythonimport shutilshutil.copy(file_path, new_destination)```通过这些简单的模块与方法,可以让文件目录的遍历和后续文件处理变得高效而灵活。

推荐文章

热门文章