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

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

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

linux中使用Python对图片进行批量命名_第1张图片

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

linux中使用Python对图片进行批量命名_第2张图片

6 待运行完成后

linux中使用Python对图片进行批量命名_第3张图片

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

linux中使用Python对图片进行批量命名_第4张图片

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

你可能感兴趣的