使用Python批量删除电影文件【】[]等前缀

Python3日常实用脚本系列之—使用Python批量删除电影文件【】[]等前缀

前言

网上下载的电影一般都带有网址前缀,例如【www.dygod.net电影天堂】湄公河大案-高清国语版.rmvb等,你会发现前缀比正名还要长,这个时候你要是用pad或者智能TV时,想找个电影还得等它从首到尾滚动半天,有些系统甚至不会滚动,只能通过调整视图来区分不同电影文件。

目的

解决电视、pad通过NAS或共享设备看电影不好区分文件的痛点。

途径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# -*- coding: UTF-8 -*-
import os,re
def Rrename(Path):
''' Path路径末尾需加/,涉及修改的文件名包括子目录,返回修改前改目录所有的文件名'''
lista = []
for item in os.listdir(Path):
if os.path.isdir(Path+item): # 例外情况最好放前面
Rrename(Path+item+'/') # 文件夹的末尾没有/
else:
lista.append(item)
try:
newitem = re.match(r'([\[\【].*[\】\]])(.*)',item).group(2)
os.rename(Path+item,Path+newitem)
except AttributeError:
pass
return lista

难点

除了指定路径下的文件外,还需考虑子目录下文件,这不得不涉及到了递归调用问题,对于新手来说有一定难度。另外,正则匹配式的模型有一定难度,推荐使用在线验证工具验证模型的正误。