Python批量自动修改文件名,按指定的格式自动命名方式

 更新时间:2023年08月17日 08:45:58   作者:Pandas_007  
这篇文章主要介绍了Python批量自动修改文件名,按指定的格式自动命名方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题引入

在我们在对一个已经排好序的项目进行增删改之后,文件名可能不再连续,有所缺失,这时我们需要对所有文件进行有序的排序,需要借助Python来进行自动获取所有文件的数量然后自动进行排序。

例如我对某个文件进行删除后,图片的命名已经不连续了,需要对其后面的需要按顺序进行排列 。

再运行完os库的代码后,文件名已经变成连续的了。

如下图:

OS库的方法

  • os.listdir(path)--查看路径下的所有文件
  • os.rename(旧文件名,新文件名)--用于更改文件名字
  • os.mkdir(path)-在path路径下创建目录
  • os.remove(path)--删除文件
  • os.stat(path)--获取文件信息,存储的内存大小

只通过OS来批量修改文件名

def File_name_sorting(filepath,outpath):
    import os
    alldates=os.listdir(filepath) #获得路径中的所有文件
    alldates.sort(key=lambda X : int(X[:-4])) #将文件名按照数字排序;X[:-4]是取.jpg前面的文件名 作用是屏蔽后缀名.jpg
    for i in range(1,len(alldates)+1):
        filepath=filepath+r'/'#读入文件的路径
        os.rename(filepath+str(alldates[i-1]),outpath+str(i)+'.jpg')
if __name__ == '__main__':
    filepath=r'E:\项目\python项目\爬虫\ebird\Larus ridibundus\img2'#需要重命名的路径
    outpath=r'E:\项目\python项目\爬虫\ebird\Larus ridibundus\img/'#导出的路径
    File_name_sorting(filepath,outpath)

通过cv2库进行批量修改文件名

cv.imwrite(path,file)把每一个文件取出后再通过此函数,保存至新的文件名,通过在其外层添加循环以此来达到批量修改文件名的效果。

代码如下:

def renamefile_cv(path,imgPath):
    import cv2
    import os
    file_lst = os.listdir(path)
    frame_count=0 #起始的文件名名字 后续加了1 所以这里设置为0
    for filename in file_lst:
        frame_count=frame_count+1
        frame=cv2.imread(path + filename)
        print('正在处理第'+ str(frame_count) + '张图片')
        cv2.imwrite(imgPath + str(frame_count)+'.jpg', frame)
if __name__ == '__main__':
    path=r'E:\项目\python项目\爬虫\ebird\Larus ridibundus\img/'
    imgPath=r'E:\项目\python项目\爬虫\ebird\Larus ridibundus\imges/'
    renamefile_cv(path,imgPath)

常见问题:

①读取不到图片,路径全部修改为英文再尝试。

②运行了一会后报错,可能其文件格式不一致,即使它显示的是jpg,这时可以自主添加try,except,跳过本文件,继续修改下一个文件名。

下面是升级后的代码:

def renamefile_cv(path,imgPath):
    import cv2
    import os
    file_lst = os.listdir(path)
    frame_count=0 #起始的文件名名字 后续加了1 所以这里设置为0
    for filename in file_lst:
        frame_count=frame_count+1
        try:
            frame=cv2.imread(path + filename)
            print('正在处理第'+ str(frame_count) + '张图片')
            cv2.imwrite(imgPath + str(frame_count)+'.jpg', frame)
        except:
            print("{}存在问题".format(filename))
            pass
if __name__ == '__main__':
    path=r'E:\项目\python项目\爬虫\ebird\Larus ridibundus\img/'
    imgPath=r'E:\项目\python项目\爬虫\ebird\Larus ridibundus\imges/'
    renamefile_cv(path,imgPath)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python 图片二值化处理(处理后为纯黑白的图片)

    python 图片二值化处理(处理后为纯黑白的图片)

    这篇文章主要介绍了python 图片二值化处理(处理后为纯黑白的图片),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • 使用OpenCV实现读取和显示图像与视频

    使用OpenCV实现读取和显示图像与视频

    OpenCV 是一个强大的计算机视觉库,广泛应用于图像处理和视频处理等领域,本文将详细介绍如何使用 OpenCV 在 Python 中读取和显示图像以及视频,希望对大家有所帮助
    2024-11-11
  • python3.x实现base64加密和解密

    python3.x实现base64加密和解密

    这篇文章主要为大家详细介绍了python3.x实现base64加密和解密,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

    Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析

    这篇文章主要介绍了Python 类方法和实例方法(@classmethod),静态方法(@staticmethod),结合实例形式分析了Python 类方法和实例方法及静态方法相关原理、用法及相关操作注意事项,需要的朋友可以参考下
    2019-09-09
  • 系统梳理Python中配置管理的核心方法与最佳实践指南

    系统梳理Python中配置管理的核心方法与最佳实践指南

    这篇文章主要为大家详细介绍了Python中配置管理的核心方法与最佳实践,涵盖环境变量,配置文件,密钥服务和动态配置中心四大方案,希望对大家有所帮助
    2026-03-03
  • python安装dlib失败的解决方法

    python安装dlib失败的解决方法

    本文主要介绍了python安装dlib失败的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • python中实现延时回调普通函数示例代码

    python中实现延时回调普通函数示例代码

    这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • Python3基础之基本数据类型概述

    Python3基础之基本数据类型概述

    这篇文章主要介绍了Python3的基本数据类型,需要的朋友可以参考下
    2014-08-08
  • 玩转Python发短信的实现

    玩转Python发短信的实现

    用Python实现发短信功能,当监控到问题出现时,短信报警,使问题能得到及时的处理。当然,我相信,用Python发短信应用场景不止此一处,下面我们开始Python发短信的实现,感兴趣的朋友参考下吧
    2022-01-01
  • C站最全Python标准库总结,你想要的都在这里

    C站最全Python标准库总结,你想要的都在这里

    这篇文章主要介绍了C站最全的Python标准库,总共包含10个类型,希望能对大家有帮助,看完不亏系列
    2021-07-07

最新评论