Python脚本实现快速整理图片文件

 更新时间:2025年12月24日 09:28:54   作者:酒城译痴无心剑  
这篇文章主要为大家详细介绍了Python如何通过三个脚本实现快速整理图片文件,适用于日常数据整理与批量处理场景,感兴趣的小伙伴可以了解下

1. 实战概述

本实战通过三个Python脚本,实现图片文件的批量复制、分类统计与统一重命名。利用os和shutil模块高效操作文件,自动化整理图片资源,提升文件管理效率,适用于日常数据整理与批量处理场景。

2. 实战任务

2.1 快速复制JPG文件

创建1_快速复制JPG文件.py文件

"""
功能:快速复制JPG文件
作者:华卫
日期:2025年10月31日
"""

import os
import shutil

"""
shutil是"shell utilities"(shell 工具)的缩写,它提供了
一系列高级的文件和目录操作函数,让你可以方便地在Python程序
中执行类似于操作系统命令行中的文件管理操作,比如复制、移动、
删除、打包等。
"""

# 获取当前目录下的所有条目
all_items = os.listdir(os.getcwd())

# 过滤:只保留文件,排除文件夹
dir_files = [item for item in all_items if os.path.isfile(item)]

print(f'当前文件夹里有{len(dir_files)}个文件:{dir_files}')

new_dir = input('\n输入目标文件夹:')
while os.path.exists(new_dir):
    print(f"温馨提示:[{new_dir}]已存在~")
    new_dir = input('\n输入目标文件夹:')
os.mkdir(new_dir)

print('\nJPG图片文件开始复制……')
for file in dir_files:
    if file.endswith('.jpg'):
        shutil.copy(file, new_dir + '/' + file)
        print(f'[{file}]文件已复制~')

print(f'\n[{new_dir}]文件夹里的文件:{os.listdir(new_dir)}')

代码说明:本程序用于快速筛选并复制当前目录下的所有 JPG 图片文件到新建的目标文件夹。通过os.listdir()获取文件列表,过滤出文件后,用户输入新文件夹名,程序自动创建并复制所有以 .jpg 结尾的文件,最后显示目标文件夹内容,实现简单高效的图片批量复制功能。

运行程序,测试效果

查看复制在指定文件夹里的图片文件

2.2 复制并统计图片文件

创建2_复制并统计图片文件.py文件

"""
功能:复制并统计图片
作者:华卫
日期:2025年10月31日
"""

import os
import shutil

# 获取当前目录下的所有条目
all_items = os.listdir(os.getcwd())

# 过滤:只保留文件,排除文件夹
dir_files = [item for item in all_items if os.path.isfile(item)]

print(f'当前文件夹里有{len(dir_files)}个文件:{dir_files}')

cn_jpg = 0
cn_jpeg = 0
cn_png = 0
cn_gif = 0
cn_webp = 0
cn_bmp = 0

new_dir = input('\n输入目标文件夹:')
while os.path.exists(new_dir):
    print(f"温馨提示:[{new_dir}]已存在~")
    new_dir = input('\n输入目标文件夹:')
os.mkdir(new_dir)

print('\n图片文件开始复制……')
for file in dir_files:
    if file.endswith('.jpg'):
        cn_jpg += 1
        shutil.copy(file, new_dir + '/' + file)
        print(f'[{file}]文件已复制~')
    elif file.endswith('.jpeg'):
        cn_jpeg += 1
        shutil.copy(file, new_dir + '/' + file)
        print(f'[{file}]文件已复制~')
    elif file.endswith('.png'):
        cn_png += 1
        shutil.copy(file, new_dir + '/' + file)
        print(f'[{file}]文件已复制~')
    elif file.endswith('.gif'):
        cn_gif += 1
        shutil.copy(file, new_dir + '/' + file)
        print(f'[{file}]文件已复制~')
    elif file.endswith('.webp'):
        cn_webp += 1
        shutil.copy(file, new_dir + '/' + file)
        print(f'[{file}]文件已复制~')
    elif file.endswith('.bmp'):
        cn_bmp += 1
        shutil.copy(file, new_dir + '/' + file)
        print(f'[{file}]已复制~')

cn = cn_jpg + cn_jpeg + cn_png + cn_gif + cn_webp + cn_bmp
print(f'\n共复制了{cn}个图片文件~')
print(f'[jpg]文件个数:{cn_jpg}')
print(f'[jpeg]文件个数:{cn_jpeg}')
print(f'[png]文件个数:{cn_png}')
print(f'[gif]文件个数:{cn_gif}')
print(f'[webp]文件个数:{cn_webp}')
print(f'[bmp]文件个数:{cn_bmp}')
print(f'\n[{new_dir}]文件夹里的文件:{os.listdir(new_dir)}')

代码说明:本程序扫描当前目录,统计并复制常见格式的图片文件(JPG、PNG、GIF等)到新建的目标文件夹。复制过程中分类计数,最后输出各类图片数量及总复制数,并列出目标文件夹内容,实现图片文件的批量整理与统计功能。

运行程序,测试效果

查看复制到指定文件夹的各种图片文件

2.3 图片文件统一改名

创建3_图片文件统一改名.py文件

"""
功能:图片文件统一改名
作者:华卫
日期:2025年10月31日
"""

import os
import shutil

# 获取当前目录下的所有条目
all_items = os.listdir(os.getcwd())

# 过滤:只保留文件,排除文件夹
dir_files = [item for item in all_items if os.path.isfile(item)]

print(f'当前文件夹里有{len(dir_files)}个文件:{dir_files}')

cn_jpg = 0
cn_jpeg = 0
cn_png = 0
cn_gif = 0
cn_webp = 0
cn_bmp = 0
counter = 0

new_dir = input('\n输入目标文件夹:')
while os.path.exists(new_dir):
    print(f"温馨提示:[{new_dir}]已存在~")
    new_dir = input('\n输入目标文件夹:')
os.mkdir(new_dir)

print('\n图片文件开始复制……')
for file in dir_files:
    if file.endswith('.jpg'):
        counter += 1
        cn_jpg += 1
        shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.jpg')
        print(f'[{file}]文件已复制~')
    elif file.endswith('.jpeg'):
        counter += 1
        cn_jpeg += 1
        shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.jpeg')
        print(f'[{file}]文件已复制~')
    elif file.endswith('.png'):
        counter += 1
        cn_png += 1
        shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.png')
        print(f'[{file}]文件已复制~')
    elif file.endswith('.gif'):
        counter += 1
        cn_gif += 1
        shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.gif')
        print(f'[{file}]文件已复制~')
    elif file.endswith('.webp'):
        counter += 1
        cn_webp += 1
        shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.webp')
        print(f'[{file}]文件已复制~')
    elif file.endswith('.bmp'):
        counter += 1
        cn_bmp += 1
        shutil.copy(file, new_dir + '/' + 'file_' + str(counter) + '.bmp')
        print(f'[{file}]已复制~')

print(f'\n共复制了{counter}个图片文件~')
print(f'[jpg]文件个数:{cn_jpg}')
print(f'[jpeg]文件个数:{cn_jpeg}')
print(f'[png]文件个数:{cn_png}')
print(f'[gif]文件个数:{cn_gif}')
print(f'[webp]文件个数:{cn_webp}')
print(f'[bmp]文件个数:{cn_bmp}')
print(f'\n[{new_dir}]文件夹里的文件:{os.listdir(new_dir)}')

代码说明:本程序将当前目录中的图片文件按类型统计,并复制到新建目标文件夹中,统一重命名为 file_1.jpg、file_2.png 等格式,实现文件名标准化。复制过程中分类计数,最后输出各类图片数量及总数量,并显示目标文件夹内容,便于统一管理图片文件。

运行程序,测试效果

查看复制到指定文件夹并规范命名的图片文件

3. 实战总结

本次Python文件操作实战通过三个递进式项目,系统掌握了利用os和shutil模块进行自动化文件管理的核心技能。从基础的JPG文件复制,到支持多格式图片的分类统计与批量复制,再到实现统一编号重命名,逐步提升了文件处理的智能化水平。实践过程中,深入理解了os.listdir()、os.path.isfile()、shutil.copy()等关键函数的应用,学会了如何通过条件判断、循环控制和字符串操作实现复杂逻辑。整个流程实现了图片资源的高效整理与标准化管理,不仅提升了数据处理效率,也强化了Python在实际工作中的应用能力,为后续开发更复杂的文件管理工具奠定了坚实基础。

以上就是Python脚本实现快速整理图片文件的详细内容,更多关于Python文件整理的资料请关注脚本之家其它相关文章!

相关文章

  • pycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码使用教程(永久激活亲测可用)

    pycharm2021激活码是一个可以轻松帮助用户免费激活pycharm2021.1软件的文件,虽然说pycharm现在只是推出了2021.1的EAP版,但是如果你想先率先体验一波,那么就可以利用小编提供的这个激活码来进行使用啦,并这个激活码是永久有效的
    2021-03-03
  • Python字符串类型及格式化问题

    Python字符串类型及格式化问题

    这篇文章主要介绍了Python字符串类型及格式化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • python运算符+条件结构+循环结构

    python运算符+条件结构+循环结构

    这篇文章主要介绍了python运算符、条件结构、循环结构;算术运算符、赋值运算符、逻辑运算符等一些相关内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-03-03
  • python人工智能算法之人工神经网络

    python人工智能算法之人工神经网络

    这篇文章主要为大家介绍了python人工智能算法之人工神经网络示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • python cs架构实现简单文件传输

    python cs架构实现简单文件传输

    这篇文章主要为大家详细介绍了python cs架构实现简单文件传输,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 对django 2.x版本中models.ForeignKey()外键说明介绍

    对django 2.x版本中models.ForeignKey()外键说明介绍

    这篇文章主要介绍了对django 2.x版本中models.ForeignKey()外键说明介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python基于回溯法子集树模板解决找零问题示例

    Python基于回溯法子集树模板解决找零问题示例

    这篇文章主要介绍了Python基于回溯法子集树模板解决找零问题,简单描述了找零问题并结合具体实例形式分析了Python使用回溯法子集树模板解决找零问题的步骤、实现方法与相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • Python 进程调用(subprocess)的实现

    Python 进程调用(subprocess)的实现

    在Python编程中,subprocess库是一个功能强大的工具,它允许我们创建新进程、连接到其输入/输出/错误管道,并获取其返回代码,下面就来详细的介绍一下,感兴趣的可以了解一下
    2025-10-10
  • 如何使用python数据处理解决数据冲突和样本的选取

    如何使用python数据处理解决数据冲突和样本的选取

    这篇文章主要介绍了如何使用python数据处理解决数据冲突和样本的选取,其中主要包括 实际业务数据冲突、样本选取问题、数据共线性等思路
    2021-08-08
  • Python英文文章词频统计(14份剑桥真题词频统计)

    Python英文文章词频统计(14份剑桥真题词频统计)

    这篇文章主要介绍了Python英文文章词频统计(14份剑桥真题词频统计),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10

最新评论