对python遍历文件夹中的所有jpg文件的实例详解

yizhihongxing

下面是对 "对python遍历文件夹中的所有jpg文件的实例详解" 的完整攻略。

总体思路

本篇攻略的主要目标是利用 Python 实现遍历指定文件夹中所有 jpg 格式图片文件的功能,具体实现过程如下:

  1. 导入必要的模块
  2. 定义遍历函数
  3. 主程序代码,调用遍历函数

导入模块

首先,代码中需要导入 osglob 两个模块。

import os
import glob

定义遍历函数

借助 os.path 模块等工具,可以轻松实现对指定文件夹的遍历。 下面是一个基于递归实现的遍历所有 jpg 文件的函数。

def traverse_jpg_files(path):
    """
    遍历指定路径下所有 jpg 文件
    """
    files = []
    for file_name in glob.glob(os.path.join(path, '*.jpg')):
        files.append(file_name)

    for dirpath, dirnames, filenames in os.walk(path):
        for filename in filenames:
            if filename.endswith('.jpg'):
                files.append(os.path.join(dirpath, filename))

    return files

该函数接收一个参数 path,表示指定文件夹绝对路径,返回一个遍历得到的所有 jpg 文件路径名的列表 files

以上代码中,依次找出指定路径 path 下以及其子目录下的所有 .jpg 结尾的文件,并返回这个文件列表。其中:

  • glob模块根据路径匹配查找文件
  • os.walk 方法继续遍历指定路径下子目录,查找 .jpg 文件,并加入列表

主程序代码,调用遍历函数

下面的代码主要调用以上的函数 traverse_jpg_files

if __name__ == '__main__':
    files = traverse_jpg_files('/Users/your_username/Downloads/')# file path where the jpg files are located

    for file in files:
        print(file)

程序调用遍历函数,输出所有目录内的 jpg 文件路径。

示例说明1

假设有一个名为 image 的文件夹,目录结构如下所示:

➜ image ls
1.jpg 2.jpg readme.md
    subdir1/
        3.jpg 4.jpg
    subdir2/
        5.jpg 6.jpg

我们对 image 文件夹进行遍历查找 jpg 文件并输出:

import os
import glob


def traverse_jpg_files(path):
    """
    遍历指定路径下所有 jpg 文件
    """
    files = []
    for file_name in glob.glob(os.path.join(path, '*.jpg')):
        files.append(file_name)
    print(f'匹配当前目录下文件:{files}')
    for dirpath, dirnames, filenames in os.walk(path):
        for filename in filenames:
            if filename.endswith('.jpg'):
                files.append(os.path.join(dirpath, filename))
    print(f'匹配子目录下所有 jpg 文件: {files}')

    return files


if __name__ == "__main__":
    traverse_jpg_files('./image')

对于这个示例,会输出如下结果:

匹配当前目录下文件:['./image/1.jpg', './image/2.jpg']
匹配子目录下所有 jpg 文件: ['./image/1.jpg', './image/2.jpg', './image/subdir2/5.jpg', './image/subdir2/6.jpg', './image/subdir1/3.jpg', './image/subdir1/4.jpg']

示例说明2

下面演示一个实际的例子,利用 pandas 库遍历文件夹中的所有 csv 文件并将其合并。

假设有一个名为 financial_data 的文件夹,内有若干个 csv 文件,我们希望将其全部读入后合并成一个大的数据框:

import os
import pandas as pd


def traverse_csv_files(path):
    """
    遍历指定路径下所有 csv 文件
    """
    files = []
    for file_name in glob.glob(os.path.join(path, '*.csv')):
        files.append(file_name)
    print(f'匹配当前目录下文件:{files}')
    for dirpath, dirnames, filenames in os.walk(path):
        for filename in filenames:
            if filename.endswith('.csv'):
                files.append(os.path.join(dirpath, filename))
    print(f'匹配子目录下所有 csv 文件: {files}')

    return files


if __name__ == "__main__":
    #读取csv文件,合并所有的csv文件到一个数据框。
    csv_file_path = './financial_data'
    csv_files = traverse_csv_files(csv_file_path)
    data = pd.concat([pd.read_csv(file) for file in csv_files], ignore_index = True)
    print(data)

在执行过程中输出如下结果:

匹配当前目录下文件:['./financial_data/data_1.csv', './financial_data/data_2.csv']
匹配子目录下所有 csv 文件: ['./financial_data/data_1.csv', './financial_data/data_2.csv', './financial_data/subdir2/data_4.csv', './financial_data/subdir2/data_5.csv', './financial_data/subdir1/data_3.csv']
   field_1  field_2  field_3
0        1        2        3
1        2        3        4
2        3        4        5
3        4        5        6
4        5        6        7

以上是对 "对python遍历文件夹中的所有jpg文件的实例详解" 的完整攻略,希望能帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:对python遍历文件夹中的所有jpg文件的实例详解 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • Python合并多个Excel数据的方法

    以下是详细讲解“Python合并多个Excel数据的方法”的完整实例教程。 背景 在工作中,经常会遇到需要合并多个Excel数据的情况,手动合并往往耗时费力。而Python提供了多种方法可以用来合并多个Excel数据,本文将介绍其中一种基于pandas和openpyxl的方法。 准备工作 在开始实例之前,我们需要安装以下依赖库: pandas openpyx…

    python 2023年5月13日
    00
  • 详解用Python Pillow生成方形或圆形的缩略图

    生成方形或圆形的缩略图是我们在图片处理过程中常常需要处理的问题。Python Pillow是一个功能强大的图片处理库,它提供了生成方形或圆形的缩略图功能,下面详细讲解如何使用Python Pillow生成方形或圆形的缩略图。 准备工作 首先,需要在Python中安装Pillow库。可以通过下面的命令进行安装: pip install Pillow 安装完成后…

    python-answer 2023年3月25日
    00
  • 利用Python找回微信撤回信息

    下面是“利用Python找回微信撤回信息”的完整攻略: 前言 当我们在微信聊天过程中,发现信息被对方撤回了,如果你想找回这条消息,那么可以使用Python进行实现。 基本思路 使用itchat库进行微信登录; 接收到信息并打印在控制台上,同时保存在一个字典中; 监听撤回信息事件,找到该信息后将该条信息删除,并将被撤回的信息发送给自己。 具体实现 步骤一:登录…

    python 2023年5月19日
    00
  • python实现树的深度优先遍历与广度优先遍历详解

    下面是详细讲解“Python实现树的深度优先遍历与广度优先遍历详解”的完整攻略。 1. 什么是树 树是一种非线性数据结构,它由若干个节点组成,每个节点可以有若干个子节点。树节点之间存在一种层次关系,其中上面的节点称根节点,最下面的节点称为叶子节点。 2. 树的遍历 树的遍历是指按照一定的顺序访问树的所有节点。常见的树的遍历方式有深度优先历和广度优先遍历。 2…

    python 2023年5月14日
    00
  • Python使用lxml模块和Requests模块抓取HTML页面的教程

    Python使用lxml模块和Requests模块抓取HTML页面的教程 在Python中,我们可以使用lxml模块和Requests模块来抓取HTML页面。lxml模块是一个Python库,用于解析XML和HTML文档。Requests模块是一个Python库,用于发送HTTP请求。本文将介绍如何使用这两个库来抓取HTML页面,并提供两个示例。 步骤一:安…

    python 2023年5月15日
    00
  • 基于Python实现人像雪景小程序

    这里是基于Python实现人像雪景小程序完整攻略。 简介 本攻略将介绍如何基于Python实现人像雪景小程序,能够将输入的照片中的人像抠出来并添加上雪景效果。这个小程序的实现会涉及到以下技术: Python图片处理库PIL(Python Imaging Library) 神经网络模型MMDetection 算法OpenCV 实施步骤 步骤1:环境准备 为了实…

    python 2023年5月23日
    00
  • pip报错“ImportError: cannot import name ‘main’ from ‘pip._internal.cli’ (/usr/lib/python3/dist-packages/pip/_internal/cli/init.py)”怎么处理?

    当使用 pip 安装 Python 包时,可能会遇到 “ModuleNotFoundError: No module named ‘setuptools'” 错误。这个错误通常是由于 setuptools 模块未安装或者版本不兼容导致的。以下是详细讲解 pip 报错 “ModuleNotFoundError: No module named ‘setupto…

    python 2023年5月4日
    00
  • 浅析Python与Mongodb数据库之间的操作方法

    浅析Python与Mongodb数据库之间的操作方法 简介 Mongodb是广泛应用于现代应用程序的高性能、开源、面向文档的存储数据库,而Python是一种高级编程语言,易于学习、编写和阅读。Python与Mongodb配合使用可以帮助我们实现更高效的数据处理和管理,下面将对Python与Mongodb之间的操作方法进行分析。 安装Mongodb驱动 Pyt…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部