我曾以為,寫腳本是很難的,直到我遇到了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