在linux中使用python对图片进行批量命名

大家在进行机器学习训练时,为了方便管理不同种类的图片,需要对同一类图片进行批量命名。
1 picture文件夹有大量照片,我们需要对其进行重新命名。

2 此时我们可以在picture文件夹里启动终端,创建一个python脚本,其命名为rename.py。

touch rename.py

3 新开一个终端,输入

gedit rename.py

4 将下列代码粘贴进rename.py脚本

import os

class batchrename():
    '''
    批量重命名文件夹中的图片文件

    '''
    def __init__(self):
        self.path = '/media/hyr/d952-0c52/肉训练集/picture'  # 表示需要命名处理的文件夹

    def rename(self):
        filelist = os.listdir(self.path)  # 获取文件路径
        print('filelist',filelist)


        total_num = len(filelist)  # 获取文件长度(个数)
        i = 1  # 表示文件的命名是从1开始的
        for item in filelist:
            print('item',item)
            if item.endswith('.jpg'):  # 初始的图片的格式为jpg格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可)
                src = os.path.join(os.path.abspath(self.path), item)
                print('src',src)
            #dst = os.path.join(os.path.abspath(self.path), '' + str(i) + '.jpg')  # 处理后的格式也为jpg格式的,当然这里可以改成png格式
            dst = os.path.join(os.path.abspath(self.path), 'rou' + format(str(i), '0>3s') + '.jpg')           
		#这种情况下的命名格式为0000000.jpg形式,可以自主定义想要的格式
            try:
                os.rename(src, dst)
                print('converting %s to %s ...' % (src, dst))
                i = i + 1
            except:
                continue
        print('total %d to rename & converted %d jpgs' % (total_num, i))


if __name__ == '__main__':
    demo = batchrename()
    demo.rename()


将 self.path = ‘/media/hyr/d952-0c52/肉训练集/picture’ 修改为自己的文件绝对路径。

5 启动终端,输入

python3 rename.py

6 待运行完成后

7 此时,我们查看picture文件夹,发现所有照片已经完成重新命名。

到此这篇关于linux中使用python对图片进行批量命名的文章就介绍到这了,更多相关python批量命名内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!