对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 虚拟环境详解

    Python 虚拟环境详解 虚拟环境是 Python 中的一个机制,用于创建独立的 Python 环境。虚拟环境用于隔离不同项目中的依赖项,防止它们相互干扰。本文将为您提供创建和使用虚拟环境的详细攻略。 1. 安装和配置虚拟环境 在创建虚拟环境之前,您需要安装虚拟环境工具。Python 自带了一个虚拟环境工具 venv,可以通过以下命令来安装: python…

    python 2023年5月14日
    00
  • python的open函数常见用法

    当我们需要在Python程序中进行文件的读写操作时,可以使用Python内置的open函数。open函数是Python中的一个重要函数,它用于打开文件、读取文件、写入文件、关闭文件等操作,是Python中文件操作常用的函数之一。 基本语法 open函数的基本语法为: file = open(filename, mode) 其中,filename是要打开的文件…

    python 2023年5月13日
    00
  • python实现根据用户输入从电影网站获取影片信息的方法

    本攻略将介绍如何使用Python实现根据用户输入从电影网站获取影片信息的方法。我们将使用requests库获取网页内容,并使用BeautifulSoup库解析网页内容。我们将提供两个示例,分别用于获取单个影片的信息和获取多个影片的信息。 获取单个影片的信息 以下是一个示例代码,用于获取单个影片的信息: import requests from bs4 imp…

    python 2023年5月15日
    00
  • Python中的functools partial详解

    Python中的functools partial详解 介绍 Python的标准库 functools 中的 partial 函数是一个非常有用的工具,他能够“部分完成”一个函数。该函数接收一个函数和一些参数,生成新的函数。这个新函数将保留原有函数的所有功能,但部分参数已经确定下来。假如你对一个函数的某个参数需要重复传入同样的值,这时候 partial 便可…

    python 2023年6月3日
    00
  • 手把手教你使用Python解决简单的zip文件解压密码

    下面就手把手教你使用Python解决简单的zip文件解压密码的完整攻略: 1. 安装Python库 解析zip文件需要使用zipfile库,因此需要先安装该库,可以通过在终端输入以下命令来完成安装: pip install zipfile 2. 加载zip文件 使用Python打开zip文件需要使用zipfile.open()函数,该函数的参数需要传入zip…

    python 2023年6月3日
    00
  • python模块的安装以及安装失败的解决方法

    当我们在Python编程过程中需要使用各种模块来扩展Python的功能。然而,在安装Python模块时,我们可能会遇到各种错误。以下是Python模块安装以及安装失败的解决方法的完整攻略: 1. 使用pip安装模块 在Python中,我们可以使用pip命令来安装模块。例如,我们可以使用以下命令来安装numpy模块: pip install numpy 如果我…

    python 2023年5月13日
    00
  • 解决Pyinstaller打包软件失败的一个坑

    以下是关于“解决 Pyinstaller 打包软件失败的一个坑”的完整攻略: 问题描述 在使用 Pyinstaller 打包 Python 程序时,有时会出现打包失败情况,这通常是由于 Pyinstaller 无法正确识别 Python 程序中的某赖库导致。下面是一个例: pyinstaller main.py 在上述代码中,我们使用 Pyinstaller…

    python 2023年5月13日
    00
  • Python 构建高阶函数

    下面来详细讲解Python构建高阶函数使用方法的完整攻略。 什么是高阶函数? 高阶函数是指可以将其他函数作为参数或返回值的函数。在Python中,函数本身就是一种对象,可以像传递其他数据类型一样传递函数。 高阶函数的使用 使用高阶函数主要包括以下两个方面: 函数作为参数传递 函数作为返回值 1. 函数作为参数传递 常见的高阶函数之一是map()函数,它的作用…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部