linux中使用Python对图片进行批量命名
时间:2022-11-25 10:41:26|栏目:Python代码|点击: 次
在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文件夹,发现所有照片已经完成重新命名。