os.walk模块详解
时间: 2023-05-30 14:03:12 浏览: 153
python使用os.listdir和os.walk获得文件的路径的方法
5星 · 资源好评率100%
os.walk模块是Python标准库中的一个实用工具,它可以帮助我们遍历文件夹中的所有文件和子文件夹。它会返回一个三元组,包含当前遍历到的文件夹路径、当前文件夹中的所有子文件夹名称、当前文件夹中的所有文件名称。
os.walk模块的语法如下:
```python
os.walk(top, topdown=True, onerror=None, followlinks=False)
```
参数说明:
- top:要遍历的文件夹路径。
- topdown:遍历顺序。默认为True,表示从上到下遍历文件夹;如果设置为False,则表示从下到上遍历文件夹。
- onerror:错误处理函数。默认为None,表示忽略所有错误;如果设置为一个函数,则会在遇到错误时调用该函数。
- followlinks:是否跟随符号链接。默认为False,表示不跟随符号链接;如果设置为True,则表示跟随符号链接。
os.walk模块返回的是一个生成器对象,我们可以使用for循环遍历这个对象,获取每个文件夹以及文件夹中的文件和子文件夹。
下面是一个示例代码,演示了如何使用os.walk模块遍历文件夹:
```python
import os
# 遍历文件夹
def walk_folder(folder):
for root, dirs, files in os.walk(folder):
print("当前文件夹:", root)
print("子文件夹:", dirs)
print("当前文件夹中的文件:", files)
print("="*50)
# 测试
if __name__ == "__main__":
folder = "./test"
walk_folder(folder)
```
输出结果:
```
当前文件夹: ./test
子文件夹: ['dir1', 'dir2']
当前文件夹中的文件: ['file1.txt', 'file2.txt']
==================================================
当前文件夹: ./test/dir1
子文件夹: []
当前文件夹中的文件: ['file3.txt']
==================================================
当前文件夹: ./test/dir2
子文件夹: ['subdir1']
当前文件夹中的文件: ['file4.txt']
==================================================
当前文件夹: ./test/dir2/subdir1
子文件夹: []
当前文件夹中的文件: ['file5.txt']
==================================================
```
可以看到,我们使用os.walk模块遍历了"./test"文件夹中的所有文件和子文件夹,并打印了它们的路径、子文件夹、文件列表。
阅读全文