Python 遍历目录
一、引言
在 Python 编程中,经常需要遍历目录以查找、读取或操作文件。遍历目录可以帮助我们管理文件系统,查找特定文件或执行批量任务。下面将介绍几种在 Python 中遍历目录的方法。
二、遍历目录的方法
1. 使用 os 模块
Python 的 os 模块提供了很多与操作系统交互的函数,其中 os.listdir() 和 os.walk() 是遍历目录的常用函数。
使用 os.listdir()
os.listdir() 函数可以列出指定目录下的所有文件和子目录。但需要注意的是,它只能列出指定目录下的直接内容,而不能递归地列出子目录中的文件。
import os
def list_files_in_dir(directory):
for filename in os.listdir(directory):
print(filename)
# 使用方法
list_files_in_dir('/path/to/your/directory')
使用 os.walk()
os.walk() 函数可以递归地遍历目录树,返回目录中的文件名和子目录名。它是一个生成器,每次调用会返回一个三元组,包含当前目录名、当前目录下的子目录名列表和当前目录下的非目录文件名列表。
import os
def traverse_directory(directory):
for root, dirs, files in os.walk(directory):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
# 使用方法
traverse_directory('/path/to/your/directory')
2. 使用 pathlib 模块(Python 3.4+)
Python 3.4 引入了 pathlib 模块,它提供了一种面向对象的方式来处理文件系统路径。pathlib 模块中的 Path 类提供了很多实用的方法,包括遍历目录。
from pathlib import Path
def traverse_directory_with_pathlib(directory):
p = Path(directory)
for subpath p.iterdir():
subpath.is_file():
(subpath)
subpath.is_dir():
(subpath)
traverse_directory_with_pathlib(Path())


