Python遍历文件夹中的文件

2024年05月06日 Python遍历文件夹中的文件 极客笔记

Python遍历文件夹中的文件

在编程中,经常需要处理文件和文件夹,遍历文件夹中的文件是一个常见的需求。在Python中,有很多种方法可以实现这个功能,本文将详细介绍如何使用Python来遍历文件夹中的文件。

使用os模块实现遍历文件夹中的文件

Python的os模块提供了一系列处理文件和文件夹的功能,包括遍历文件夹中的文件。下面是使用os模块实现遍历文件夹中的文件的示例代码:

import os

def list_files_in_folder(folder_path):
    files = []
    for file in os.listdir(folder_path):
        file_path = os.path.join(folder_path, file)
        if os.path.isfile(file_path):
            files.append(file_path)
    return files

folder_path = 'path_to_your_folder'
files = list_files_in_folder(folder_path)

for file in files:
    print(file)

在上面的示例代码中,首先导入os模块,然后定义了一个名为list_files_in_folder的函数,该函数接受一个文件夹路径作为参数,并返回该文件夹中所有文件的路径列表。然后使用os.listdir函数列出文件夹中的所有文件和文件夹,通过os.path.isfile函数判断是否是文件,并将文件路径添加到列表中。最后打印出所有文件的路径。

使用os.walk()实现遍历文件夹中的文件

除了手动遍历文件夹外,还可以使用os模块的os.walk()函数来遍历文件夹中的文件。os.walk()函数返回一个三元组:当前文件夹路径、当前文件夹中的子文件夹列表、当前文件夹中文件列表。可以通过循环遍历所有文件夹和文件。

下面是使用os.walk()函数实现遍历文件夹中的文件的示例代码:

import os

def list_files_in_folder_with_walk(folder_path):
    files = []
    for root, dirs, filenames in os.walk(folder_path):
        for filename in filenames:
            file_path = os.path.join(root, filename)
            files.append(file_path)
    return files

folder_path = 'path_to_your_folder'
files = list_files_in_folder_with_walk(folder_path)

for file in files:
    print(file)

在上面的示例代码中,定义了一个名为list_files_in_folder_with_walk的函数,该函数接受一个文件夹路径作为参数,并使用os.walk()函数遍历文件夹中的文件,并将文件路径添加到列表中。最后打印出所有文件的路径。

使用glob模块实现对文件夹中的文件进行筛选

在遍历文件夹中的文件时,有时候需要根据文件的特点进行筛选。可以使用glob模块实现对文件夹中的文件进行筛选。

下面是使用glob模块实现对文件夹中的文件进行筛选的示例代码:

import glob

folder_path = 'path_to_your_folder'
files = glob.glob(folder_path + '/*.txt')

for file in files:
    print(file)

在上面的示例代码中,使用glob.glob()函数传入带有通配符的路径来获取指定类型的文件路径,可以根据需要修改通配符的值。本例中,筛选了文件夹中所有扩展名为.txt的文件并打印出路径。

使用os.path.splitext()获取文件扩展名

对于需要筛选文件类型的情况,可以使用os.path.splitext()函数来获取文件的扩展名。

下面是使用os.path.splitext()函数获取文件扩展名的示例代码:

import os

folder_path = 'path_to_your_folder'
files = [os.path.join(folder_path, file) for file in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, file))]

for file in files:
    _, file_extension = os.path.splitext(file)
    if file_extension == '.txt':
        print(file)

在上面的示例代码中,使用列表推导式获取文件夹中所有文件的路径,并通过os.path.splitext()函数获取文件扩展名,然后筛选出扩展名为.txt的文件并打印出路径。

总结

本文介绍了使用Python遍历文件夹中的文件的几种方法,分别使用了os模块的手动遍历和os.walk()函数遍历文件夹中的文件,以及使用glob模块实现对文件进行筛选。同时还介绍了如何使用os.path.splitext()函数获取文件扩展名的方法。

在实际开发中,根据需求选择合适的方法来遍历文件夹中的文件,同时可以根据具体的业务需求对文件进行筛选和处理,实现对文件的批量操作。

本文链接:http://so.lmcjl.com/news/3912/

展开阅读全文