python脚本批量修改文件名

释放双眼,带上耳机,听听看~!

我曾以为,写脚本是很难的,直到我遇到了Python

前言

随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随着本地资源量的增多,资源管理就成了一件比较头疼的事情;对于资源的管理,方法有很多,我比较喜欢为资源起一个好记的名字,但改文件名是一件无聊又耗时的事情,所以,一个批量重命名的脚本就变得非常重要.

1.批量添加前缀功能

批量重命名

批量重命名逻辑,分三步:

(1)确定需要命名的文件们

(2)确定新的文件名

(3)改名

逻辑理清,编码就变得很简单了

10行代码

上图源码:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1# 导入python内置的os模块和sys模块
2import os
3import sys
4
5# 程序入口
6if __name__ == "__main__":
7    # 获取需要添加的前缀
8    pre = input("请输入需要添加的前缀:")
9    # 为了美观,为前缀添加一个中括号
10    mark = "[%s]"%pre
11    # 获取本目录下所有的文件名
12    old_names = os.listdir()
13    # 遍历目录下的文件名
14    for old_name in old_names:
15        # 跳过本脚本文件
16        if old_name != sys.argv[0]:
17            # 用新的文件名替换旧的文件名
18            os.rename(old_name, mark+old_name)
19
20

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
38
39
40
1import os
2import re
3import sys
4
5def add_mark():
6    pre = input("请输入需要添加的前缀:")
7    mark = "[%s]"%pre
8    old_names= os.listdir()
9    for old_name in old_names:
10        if old_name != sys.argv[0]:
11            os.rename(old_name, mark+old_name)
12
13def remove_mark():
14    old_names= os.listdir()
15    for old_name in old_names:
16        try:
17            result = re.match(r"(^\[.*\])(.*)", old_name).group(2)
18            rm = old_name
19
20            if result:
21                os.rename(old_name, result)
22            print("已为%s移除前缀"%rm)
23        except Exception as e:
24            pass
25
26def main():
27    while True:
28        option = int(input("请选择功能数值:\n1.添加前缀\n2.删除前缀\n3.退出程序\n"))
29        if option == 1:
30            add_mark()
31        elif option == 2:
32            remove_mark()
33        else:
34            exit()
35
36if __name__ == "__main__":
37    main(
38
39
40

后记:
python是一门简洁强大的语言,随着人工智能的兴起,python也会变得越来越受人们的重视,你有什么理由不爱上python呢?

给TA打赏
共{{data.count}}人
人已打赏
安全技术

C/C++内存泄漏及检测

2022-1-11 12:36:11

安全技术

Jenkins自动化部署Spring Boot项目

2022-1-12 12:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索