重命名前请先检查符合要求与否
windows下某个目录文件夹下所有的子文件中的视频进行排序,适用于原来的文件已经存在有序的情况,但是可能会出现重命名方式,导入ipad不好排序。
比如这下面所有的子文件夹下面的视频都是从1开始排序,导入到ipad的时候排序出现问题,还有视频可能会有重命名,比如每个文件夹下的第一个都叫“01.课程简绍”,这样会发生重命名,随便写了一个小程序重命名一下文件,进行所有文件排序。
# -*- coding: utf-8 -*-import osclass TraverseDir(object): def __init__(self, start_num,category_name): self.start_num = start_num self.category_name=category_name def traverse(self, filepath): ''' :param filepath: :return: ''' filedir = os.listdir(filepath) for filename in filedir: tmp_path = os.path.join(filepath, filename) if not os.path.isdir(tmp_path): # 只考虑了几种方式,因为作者电脑上的视频没有其他形式的了 if "avi" in tmp_path or 'mp4' in tmp_path or 'wmv' in tmp_path: #这里可以随意替换原来的编号 result=filename.split(".") filename=".".join(result[2:]) snumber = str(self.start_num).zfill(6) # 字符串长度设置,不足左补零 new_name = category_name+"."+snumber+ "."+ filename print("命名前名称:" + tmp_path) os.renames(tmp_path, os.path.join(filepath, new_name)) print("命名后名称:" + os.path.join(filepath, new_name)) self.start_num = int(self.start_num) + 1 else: self.traverse(tmp_path)if __name__ == '__main__': path = input("请输入想要重命名的文件夹位置:") num = input("请输入需要改文件夹下需要起始的序号:") category_name=input("请输入分组的名称:") res = TraverseDir(num,category_name) res.traverse(path)