暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python 批量重命名-格式化命名与文件排序

研究员的自我修养 2021-11-19
1331

背景

上一次给客户重新命名后,客户再制作开机动画bootanimation的时候又提出新要求本着客户永远是对的原则,按需进行调试。

    客户的文件以数字命名 有排序的趋势但不是严格的等差数列要求按照现有顺序排列 然后进行重命名 从0001开始  固定文件名为4位

技术细节

  • 文件排序

  • 新文件名的格式化输出

分析

  • 文件排序基于现状 需要去掉文件后缀 ,将文件字符按照其数字大小排序  sort函数中使用匿名函数(key = lambda x:int(x[:-4]))来过滤掉后缀  保证输出结果的顺序

  • 格式化输出新文件基于int数字 使用了python的格式化输出表达  举个例子

  n = 123
 s = "%04d" % n
 assert s == "0123"

Demo

# -*- coding: utf-8 -*-
"""
@author: dingguagua
"""
import os
import re
path = r'720x1560bootanimation\part0 改'

# 将一些文件按顺序重命名
def rename_sort():
   img_list = os.listdir(path)
   img_list.sort(key=lambda x: int(x[:-4]))
   i =1
   for file in img_list:
       print(file)
       print("new:","%04d" %i+file[-4:])
       os.rename(os.path.join(path, file), os.path.join(path, "%04d" %i+file[-4:]))
       i =i+1


if __name__ == '__main__':
   #rename_filter()
   rename_sort()

总结

利用python可以提高bootanimation制作效率 减少美工人员的劳动量 讲精力用于创造


文章转载自研究员的自我修养,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论