Python 读取文件夹

Python 读取文件夹

Python 读取文件夹

简介

在处理文件相关的任务时,经常需要读取文件夹中的文件列表。Python 提供了多种方法来读取文件夹,本文将介绍常用的几种方式,并给出示例代码。

os 模块

Python 的 os 模块提供了一系列用于操作文件和目录的函数。其中,os.listdir() 函数可以用于获取指定路径下的所有文件和文件夹的名称列表。

示例代码如下:

import os

def get_files_in_folder(folder_path):
    """
    获取文件夹下的所有文件名
    """
    files = os.listdir(folder_path)
    return files

folder_path = "./example_folder"
files = get_files_in_folder(folder_path)
print(files)

运行结果如下:

['file1.txt', 'file2.txt', 'sub_folder']

上述代码定义了一个函数 get_files_in_folder(),该函数接受一个文件夹路径作为参数,然后使用 os.listdir() 获取该文件夹下的所有文件和文件夹的名称列表,并返回结果。

在示例中,文件夹路径为 ./example_folder,返回的文件列表包含了两个文件 file1.txtfile2.txt,以及一个子文件夹 sub_folder

需要注意的是,返回的文件列表只包含文件和文件夹的名称,并不包含完整的路径。如果需要获取完整的文件路径,可以使用 os.path.join() 函数来拼接路径。

glob 模块

除了使用 os 模块的 os.listdir() 函数外,还可以使用 glob 模块来读取文件夹。glob 模块提供了更便捷的方式来匹配文件路径。

glob.glob() 函数可以接受一个文件路径的模式作为参数,并返回匹配该模式的所有文件路径列表。

示例代码如下:

import glob

def get_files_with_pattern(folder_path, pattern):
    """
    根据模式获取文件夹下的文件名
    """
    files = glob.glob(os.path.join(folder_path, pattern))
    return files

folder_path = "./example_folder"
pattern = "*.txt"
files = get_files_with_pattern(folder_path, pattern)
print(files)

运行结果如下:

['./example_folder/file1.txt', './example_folder/file2.txt']

上述代码定义了一个函数 get_files_with_pattern(),该函数接受一个文件夹路径和一个模式作为参数,通过调用 glob.glob() 函数来获取与该模式匹配的文件路径,并返回结果。

在示例中,文件夹路径为 ./example_folder,模式为 *.txt,返回的文件列表只包含与模式匹配的文件路径。

pathlib 模块

Python 3.4 版本引入了 pathlib 模块,该模块提供了更直观和面向对象的方式来操作文件和目录路径。

通过使用 pathlib 模块,可以方便地获取文件夹下的所有文件。

示例代码如下:

from pathlib import Path

def get_files_in_folder(folder_path):
    """
    获取文件夹下的所有文件名
    """
    path = Path(folder_path)
    files = [str(file) for file in path.iterdir() if file.is_file()]
    return files

folder_path = "./example_folder"
files = get_files_in_folder(folder_path)
print(files)

运行结果如下:

['example_folder/file1.txt', 'example_folder/file2.txt']

上述代码定义了一个函数 get_files_in_folder(),该函数接受一个文件夹路径作为参数,首先通过 Path() 函数将路径转换为 pathlib.Path 对象,然后使用 iterdir() 方法获取文件夹下的所有路径。

通过列表推导式,筛选出路径为文件的项,并使用 str() 函数将路径对象转换为字符串。

在示例中,文件夹路径为 ./example_folder,返回的文件列表包含了两个文件路径。

总结

Python 提供了多种方法来读取文件夹,其中常用的有 os 模块、glob 模块和 pathlib 模块。

使用 os.listdir() 函数可以获取文件夹下的所有文件和文件夹的名称列表,使用 glob.glob() 函数可以根据模式来匹配文件路径,使用 pathlib 模块可以以面向对象的方式获取文件夹下的所有文件。

根据实际需求,选择适合自己的方法来读取文件夹,并根据需要进行进一步的处理和操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程