本文給大家分享的是一段僅僅10行程式碼就實現了批量修改文件名的python腳本,推薦給大家,有需要的小伙伴可以參考下
我曾以為,寫腳本是很難的,直到我遇到了Python
前言隨著國內版權意識的跟進,很多影視音樂資源開始收費,而且度盤又經常隨意封殺各種資源,所以,為了保護資源,老司機們越來越傾向於把資源下載到本地,但隨著本地資源量的增多,資源管理就成了一件比較頭疼的事情;對於資源的管理,方法有很多,我比較喜歡為資源起一個好記的名字,但改檔名是一件無聊又耗時的事情,所以,一個批量重命名的腳本就變得非常重要.
1.批量添加前綴功能
批次重命名
#批次重新命名邏輯,分三步驟:
#( 1)確定需要命名的檔案們
(2)確定新的檔案名稱
(3)改名
邏輯理清,編碼就變得很簡單了
#10行程式碼
上圖原始碼:
# 导入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行程式,只能批次增加前綴,不能批次移除,不太完善,這是增加了移除前綴功能的源碼
##添加/移除上圖原始碼: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檔名的批次修改的詳細內容。更多資訊請關注PHP中文網其他相關文章!