重命名前请先检查符合要求与否
windows下某个目录文件夹下所有的子文件中的视频进行排序,适用于原来的文件已经存在有序的情况,但是可能会出现重命名方式,导入ipad不好排序。
比如这下面所有的子文件夹下面的视频都是从1开始排序,导入到ipad的时候排序出现问题,还有视频可能会有重命名,比如每个文件夹下的第一个都叫“01.课程简绍”,这样会发生重命名,随便写了一个小程序重命名一下文件,进行所有文件排序。
# -*- coding: utf-8 -*-
import os
class 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)