Python如何给文件按顺序重命名

思路:先遍历文件夹,因为遍历顺序可能不同,所以要把文件转换为整形,排序之后,在重命名.代码如下:
机器学习批量处理图片可能会用到

基本方法:

import os
path='/home/no1/Desktop/python_program/rename_file'
file_1=[file[:-4] for file in os.listdir(path) if file[-4:]=='.tif']
for index , name  in enumerate(file_1):
    file_1[index]=int(name)
file_2=sorted(file_1)
i=0
for file in file_2:
    if len(str(file))<5:
        newname='%05d'%(i)+'.tif'
        i+=1
        os.rename(os.path.join(path,str(file)+'.tif'),os.path.join(path,newname))
        with open('filerename.txt','a') as f:
            f.write(str(file)+'>>>>>>>>>>>>>>'+newname+'\n')
            f.close

高级用法:

import glob
import os
def get_name(path):
    name, _ = os.path.splitext(os.path.basename(path))
    return name

input_paths = glob.glob(os.path.join('images', "*.jpg"))

input_paths1 = sorted(input_paths, key=lambda path1: int(get_name(path1)))

你可能感兴趣的:(我的Python学习)