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

下面是对 "对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的keyword模块用法实例分析

    Python是一种强大、易于学习和高效的编程语言,具有广泛的应用领域。在Python中,有许多内置的模块,这些模块可以帮助我们更方便、更高效地完成一些任务。其中一个非常有用的模块是keyword模块,它可以让我们查看Python中的保留关键字。 一、什么是keyword模块 keyword模块是Python内置模块之一,它提供了一个列表,其中包含Python…

    python 2023年6月5日
    00
  • Python IDE PyCharm的基本快捷键和配置简介

    下面是针对“Python IDE PyCharm的基本快捷键和配置简介”的完整攻略: PyCharm快捷键 常用快捷键 以下是一些常用的PyCharm快捷键: Ctrl + D 复制当前行或所选内容 Ctrl + X 剪切当前行或所选内容 Ctrl + C 复制当前行或所选内容 Ctrl + V 粘贴最后一次复制的内容 Ctrl + Z 回退 Ctrl + …

    python 2023年5月20日
    00
  • 使用Python编写Linux系统守护进程实例

    使用Python编写Linux系统守护进程需要以下步骤: 确定需要运行的任务 编写Python程序 编写启动守护进程的代码 编写守护进程的核心代码,使它可以在后台运行并自动重启 编写守护进程的停止代码 下面我们进入详细的攻略步骤: 1. 确定需要运行的任务 在编写Python守护进程之前,你需要确定需要运行的任务。比如,你的任务是每隔一段时间执行指定的Pyt…

    python 2023年5月30日
    00
  • python如何判断文件存在方式

    判断指定路径下的文件是否存在一直是Python编程中常见的问题。Python提供了多种方式来判断文件是否存在,下面我会详细讲解几种常见的方法。 方法一:os模块的path.exists()方法 os模块是Python中的标准模块,可以用来与操作系统交互。其中,path.exists()方法用来判断文件或目录是否存在。 代码如下: import os file…

    python 2023年6月2日
    00
  • 详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数

    详解Python3中hasattr()、getattr()、setattr()、delattr()函数及示例代码 在Python3中,有四个内置函数可以用于操作对象的属性:hasattr()、getattr()、setattr()和delattr()。这些函数可以帮助我们检查、获取、设置和删除对象的属性。本文将详细介绍这些函数的用法,并提供示例代码。 has…

    python 2023年5月15日
    00
  • python 如何读、写、解析CSV文件

    在Python中,可以使用内置的csv模块来读取、写入和解析CSV文件。以下是读取、写入和解析CSV文件的详细攻略: 读取CSV文件 要读取CSV文件,可以使用csv模块的reader()函数。以下是读取CSV文件的示例: import csv with open(‘data.csv’, newline=”) as f: reader = csv.read…

    python 2023年5月14日
    00
  • 详解如何在PyCharm控制台中输出彩色文字和背景

    下面是详解如何在PyCharm控制台中输出彩色文字和背景的攻略。 1. 什么是彩色文字和背景输出 在PyCharm控制台中,我们可以控制输出文字的颜色和背景,以使得输出更具可读性。例如,在Linux终端中,我们可以使用ANSI转义序列实现彩色输出。 2. 使用ANSI转义序列实现彩色文字和背景输出 ANSI转义序列是一种控制终端输出格式的标准方式,它借助不同…

    python 2023年5月20日
    00
  • 分析Python list操作为什么会错误

    以下是“分析Python list操作为什么会错误”的完整攻略。 1. Python list简介 在Python中,list是一种常用的数据结构,可以存储任意的数据类型,包括数字、字符串、列表。list是一种可变的序列,可以进行添加、删除、修改等操作。 2. Python list操作错误 在Python中,对list时,有时会出一些错误。下面我们将介绍一…

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