我曾以为,写脚本是很难的,直到我遇到了Python
前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随着本地资源量的增多,资源管理就成了一件比较头疼的事情;对于资源的管理,方法有很多,我比较喜欢为资源起一个好记的名字,但改文件名是一件无聊又耗时的事情,所以,一个批量重命名的脚本就变得非常重要.
1.批量添加前缀功能
批量重命名
批量重命名逻辑,分三步:
(1)确定需要命名的文件们
(2)确定新的文件名
(3)改名
逻辑理清,编码就变得很简单了
10行代码
上图源码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# 导入python内置的os模块和sys模块 import os import sys # 程序入口 if __name__ = = "__main__" : # 获取需要添加的前缀 pre = input ( "请输入需要添加的前缀:" ) # 为了美观,为前缀添加一个中括号 mark = "[%s]" % pre # 获取本目录下所有的文件名 old_names = os.listdir() # 遍历目录下的文件名 for old_name in old_names: # 跳过本脚本文件 if old_name ! = sys.argv[ 0 ]: # 用新的文件名替换旧的文件名 os.rename(old_name, mark + old_name) |
2.(扩展)添加移除前缀功能:
上面的10行程序,只能批量增加前缀,不能批量移除,不太完善,这是增加了移除前缀功能的源码
添加/移除
上图源码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
import os import re import sys def add_mark(): pre = input ( "请输入需要添加的前缀:" ) mark = "[%s]" % pre old_names = os.listdir() for old_name in old_names: if old_name ! = sys.argv[ 0 ]: os.rename(old_name, mark + old_name) def remove_mark(): old_names = os.listdir() for old_name in old_names: try : result = re.match(r "(^\[.*\])(.*)" , old_name).group( 2 ) rm = old_name if result: os.rename(old_name, result) print ( "已为%s移除前缀" % rm) except Exception as e: pass def main(): while True : option = int ( input ( "请选择功能数值:\n1.添加前缀\n2.删除前缀\n3.退出程序\n" )) if option = = 1 : add_mark() elif option = = 2 : remove_mark() else : exit() if __name__ = = "__main__" : main( |
后记:
python是一门简洁强大的语言,随着人工智能的兴起,python也会变得越来越受人们的重视,你有什么理由不爱上python呢?
原文链接:http://www.jianshu.com/p/2403e013bee4