遍历文件和文件夹:Python os.walk

遍历文件和文件夹:Python os.walk

遍历文件和文件夹:Python os.walk

在Python中,os模块提供了许多用于处理文件和目录的方法。其中,os.walk()方法是一个非常有用的方法,它可以帮助我们遍历文件夹中的所有文件和文件夹。

os.walk()方法简介

os.walk()方法是一个生成器,它在遍历给定目录树时生成三元组的值。每个三元组包含当前文件夹的路径、当前文件夹中所有子文件夹的名称和当前文件夹中所有文件的名称。

os.walk()方法的语法如下:

for root, dirs, files in os.walk(top, topdown=True):
    # 对当前文件夹进行处理
    for name in dirs:
        # 处理当前文件夹中的子文件夹
    for name in files:
        # 处理当前文件夹中的文件
Python

参数说明:

  • top:要遍历的目录的路径
  • topdown:设置为True时,遍历文件夹的顺序是先子文件夹,后文件。设置为False时,遍历文件夹的顺序是先文件,后子文件夹。

os.walk()方法示例

接下来,我们通过一个示例来演示如何使用os.walk()方法来遍历文件夹中的所有文件和文件夹。假设我们有如下的文件夹结构:

parent_folder/
    ├── folder1/
       ├── file1.txt
       ├── file2.txt
       └── subfolder1/
           └── file3.txt
    └── folder2/
        └── file4.txt
Python

我们的目标是输出所有文件和文件夹的路径。让我们来编写相应的代码:

import os

# 定义要遍历的目录路径
top_dir = 'parent_folder/'

# 遍历文件夹
for root, dirs, files in os.walk(top_dir):
    print(f'当前文件夹路径:{root}')
    if dirs:
        print(f'子文件夹:{dirs}')
    if files:
        print(f'文件:{files}')
    print()
Python

运行以上代码,输出如下:

当前文件夹路径:parent_folder/
子文件夹:['folder1', 'folder2']
文件:[]

当前文件夹路径:parent_folder/folder1/
子文件夹:['subfolder1']
文件:['file1.txt', 'file2.txt']

当前文件夹路径:parent_folder/folder1/subfolder1/
子文件夹:[]
文件:['file3.txt']

当前文件夹路径:parent_folder/folder2/
子文件夹:[]
文件:['file4.txt']
Python

从上面的输出中,我们可以看到os.walk()方法逐级遍历了目录树,并输出了每个文件夹中的子文件夹和文件。

总结

通过本文的详细介绍和示例,我们了解了如何使用Python中的os.walk()方法来遍历文件夹中的所有文件和文件夹。这个方法非常实用,可以帮助我们在处理文件和目录时节省大量的时间和工作量。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册