掌握Python轻松遍历读取文件夹所有文件,一文全解析!

在Python中,遍历和读取文件夹中的所有文件是一项常见的任务。这不仅可以帮助我们更好地管理文件,还可以在处理大量数据时节省时间和精力。本文将详细解析如何在Python中轻松实现这一功能。
1. 使用
os
模块
Python的
os
模块提供了丰富的函数和类,用于处理文件和目录。其中,
os.walk()
函数是一个遍历文件夹的强大工具。
1.1
os.walk()
函数简介
os.walk()
函数可以遍历指定目录及其所有子目录,返回一个三元组(root, dirs, files),其中:
root
是当前正在遍历的目录的路径。
dirs
是当前目录下所有子目录的名字列表。
files
是当前目录下所有非目录文件的名字列表。
1.2 示例代码
import os

def walk_directory(directory):
for root, dirs, files in os.walk(directory):
for file in files:
print(os.path.join(root, file))

# 调用函数,遍历当前目录下的所有文件
walk_directory(‘.’)
1.3 注意事项
os.walk()
会递归遍历所有子目录。
如果需要跳过某些目录,可以在
dirs
列表中删除相应的目录名。
2. 使用
pathlib
模块
Python 3.4及以上版本引入了
pathlib
模块,它提供了面向对象的方式来处理文件和目录。
2.1
Path
类的
rglob()
方法
Path
类的
rglob()
方法可以递归遍历指定路径及其所有子路径,返回所有匹配的
Path
对象。
2.2 示例代码
from pathlib import Path

def walk_directory(directory):
for path in Path(directory).rglob(‘*’):
print(path)

# 调用函数,遍历当前目录下的所有文件
walk_directory(‘.’)
2.3 注意事项
rglob()
方法会递归遍历所有子路径。
可以使用通配符
*
来匹配所有文件,或者使用其他通配符来匹配特定类型的文件。
3. 使用
glob
模块
glob
模块提供了一个更简单的遍历方式,使用
glob()
函数可以匹配特定模式的文件。
3.1
glob()
函数简介
glob()
函数返回与指定模式匹配的所有文件路径。
3.2 示例代码
import glob

def walk_directory(directory):
for file in glob.glob(f'{directory}/**/*.txt’, recursive=True):
print(file)

# 调用函数,遍历当前目录下所有.txt文件
walk_directory(‘.’)
3.3 注意事项
glob()
函数支持通配符
*
和
?
,其中
*
可以匹配任意数量的字符,而
?
可以匹配任意单个字符。
recursive=True
参数表示递归匹配子目录。
4. 总结
本文介绍了三种在Python中遍历读取文件夹所有文件的方法,包括使用
os
模块、
pathlib
模块和
glob
模块。选择合适的方法取决于具体需求和偏好。希望本文能帮助您轻松掌握这一技能。