讨厌下载电影和电视剧文件名中的多余字符,搞得文件名好长,可以使用下面的Python代码
讨厌下载电影和电视剧文件名中的多余字符,搞得文件名好长,可以使用下面的Python代码,自行修改即可.
#!\usr\bin\env python# -*- coding: utf-8 -*-# Author: 吴徐平# FileName: RefineFileName.py# Function: # 下载的电影电视文件名太长,# 常常含有多余的字符,如'中英双字幕',# 可以使用本Python代码去掉# Using python 2.7.X,win xp sp3import sysimport os# 文件夹目录列表FileDirectoryList=[\u'E:\\电视电影\\绿箭',\u'E:\\电视电影\\惊世',\u'E:\\电视电影\\海军罪案调查处.NCIS',\u"E:\\电视电影\\梅林.Merlin",\u"E:\\电视电影\\警察世家.Blue.Bloods"\]# 文件名中必须去掉的字符MustReplaceStringList=[\u'_xvidfov',\u'XviDDEMAND',\u'XviDREWARD',\u'Rip.XviDWiDE',\u'www.dy2018.com',\u'深影字幕组',\u'人人影视',\u'YYeTs',\u'五零字幕组',\u'中文字幕',\u'中英字幕',\u'中英双字幕',\u'SPS字幕组出品',\u'滚滚作品',\u'中英双字',\u'HDTVrip',\u'WEBrip',\u'dvdrip',\u'BDRip',\u'BD',\u'HD',\u'DVD',\u'720p',\u'rip',\u'-',\u'V2',\u'[',\u']',\u'(',\u')',\u':',\]# 去掉所有不必要的字符NewString=u'';# 自定义重命名文件的函数def RenameFileName(OldFileName,NewFileName): os.rename(OldFileName, NewFileName) oldpath,oldfn = os.path.split(OldFileName) newpath,newfn = os.path.split(NewFileName) #print ([oldfn,'--->',newfn]) print (oldfn.encode('ascii','ignore')+' --> '+newfn.encode('ascii','ignore')) #正则表达式替换,最多一次,忽略大小写def StringRegexReplace(pattern,repl,string): import re return re.sub(pattern, repl, string, count=1, flags=re.I) # 循环#硬盘的电影电视剧所有目录下的文件for FileDirectory in FileDirectoryList: FileNamesList=os.listdir(FileDirectory) # 循环重新命名文件 for filenamei in FileNamesList: # '''循环修改文件名''' OldFileName=os.path.join(FileDirectory,filenamei) # 首先去掉文件名中的空格字符 RefinedFileName=OldFileName.replace(u' ',NewString) # 循环必须去掉的文件名列表 for MustReplaceString in MustReplaceStringList: RefinedFileName=RefinedFileName.replace(MustReplaceString,NewString) # 经常出现两个点以上,直接替换成一个点 RefinedFileName=RefinedFileName.replace(u'....',u'.') RefinedFileName=RefinedFileName.replace(u'...',u'.') RefinedFileName=RefinedFileName.replace(u'..',u'.') # 可以重新命名了 NewFileName=os.path.join(FileDirectory,RefinedFileName) RenameFileName(OldFileName,NewFileName)