os.walk函数学习(检索指定路径下后缀是 某种类型 的所有文件)

函数解释:在Python中,os.walk(path) 返回一个生成器(generator),用于遍历指定路径下的所有文件夹、子文件夹和文件。生成器产生的每个元素都是一个包含三个值的元组,格式为 (dirpath, dirnames, filenames),其中:

  • dirpath 是当前文件夹的路径。
  • dirnames 是当前文件夹中的子文件夹的列表。
  • filenames 是当前文件夹中的文件的列表。

通常,你可以使用for循环来遍历os.walk(path)生成的元组,以访问所有文件夹和文件。

for dirpath, dirnames, filenames in os.walk(path):
    print(f"Current directory: {dirpath}")
    print(f"Subdirectories: {dirnames}")
    print(f"Files: {filenames}")

当path为 “ D:\PyCharm\WorkStaion\Python-Learn”
os.walk函数学习(检索指定路径下后缀是 某种类型 的所有文件)_第1张图片

其会先便利自己目录下所有的文件和文件夹,输出
在这里插入图片描述

然后便利.idea所有的文件和文件夹

!os.walk函数学习(检索指定路径下后缀是 某种类型 的所有文件)_第2张图片

输出:
在这里插入图片描述

接下来就是inspectionProfiles文件夹

接下来就是inspectionProfiles文件夹

这种方式非常像深度优先遍历树结构,它允许你逐层遍历文件夹和子文件夹,访问它们的内容,以便执行各种文件和文件夹操作。这种遍历方式特别适合处理文件系统中的文件和目录结构,例如备份、查找文件、文件索引等任务。

实例:检索指定路径下后缀是 某种类型 的所有文件

import os

def find_files_with_extension(folder_path, target_extension):
    file_list = []
    
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            if file.endswith(target_extension):
                file_list.append(os.path.join(root, file))
    
    return file_list

# 指定要搜索的文件夹路径和目标后缀(例如:'.txt')
folder_path = '/path/to/your/folder'
target_extension = '.txt'

matching_files = find_files_with_extension(folder_path, target_extension)

for file in matching_files:
    print(file)

你可能感兴趣的:(Python学习,学习,python,开发语言)