python實(shí)現(xiàn)批量修改文件名代碼
我曾以為,寫腳本是很難的,直到我遇到了Python
前言隨著國(guó)內(nèi)版權(quán)意識(shí)的跟進(jìn),很多影視音樂資源開始收費(fèi),而且度盤又經(jīng)常隨意封殺各種資源,所以,為了保護(hù)資源,老司機(jī)們?cè)絹?lái)越傾向于把資源下載到本地,但隨著本地資源量的增多,資源管理就成了一件比較頭疼的事情;對(duì)于資源的管理,方法有很多,我比較喜歡為資源起一個(gè)好記的名字,但改文件名是一件無(wú)聊又耗時(shí)的事情,所以,一個(gè)批量重命名的腳本就變得非常重要.
1.批量添加前綴功能

批量重命名
批量重命名邏輯,分三步:
(1)確定需要命名的文件們
(2)確定新的文件名
(3)改名
邏輯理清,編碼就變得很簡(jiǎn)單了

10行代碼
上圖源碼:
# 導(dǎo)入python內(nèi)置的os模塊和sys模塊
import os
import sys
# 程序入口
if __name__ == "__main__":
# 獲取需要添加的前綴
pre = input("請(qǐng)輸入需要添加的前綴:")
# 為了美觀,為前綴添加一個(gè)中括號(hào)
mark = "[%s]"%pre
# 獲取本目錄下所有的文件名
old_names = os.listdir()
# 遍歷目錄下的文件名
for old_name in old_names:
# 跳過(guò)本腳本文件
if old_name != sys.argv[0]:
# 用新的文件名替換舊的文件名
os.rename(old_name, mark+old_name)
2.(擴(kuò)展)添加移除前綴功能:
上面的10行程序,只能批量增加前綴,不能批量移除,不太完善,這是增加了移除前綴功能的源碼

添加/移除
上圖源碼:
import os
import re
import sys
def add_mark():
pre = input("請(qǐng)輸入需要添加的前綴:")
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("請(qǐng)選擇功能數(shù)值:\n1.添加前綴\n2.刪除前綴\n3.退出程序\n"))
if option == 1:
add_mark()
elif option == 2:
remove_mark()
else:
exit()
if __name__ == "__main__":
main(
后記:
python是一門簡(jiǎn)潔強(qiáng)大的語(yǔ)言,隨著人工智能的興起,python也會(huì)變得越來(lái)越受人們的重視,你有什么理由不愛上python呢?
相關(guān)文章
Python3的urllib.parse常用函數(shù)小結(jié)(urlencode,quote,quote_plus,unquot
這篇文章主要介紹了Python3的urllib.parse常用函數(shù),結(jié)合實(shí)例形式分析了urlencode,quote,quote_plus,unquote,unquote_plus等函數(shù)的相關(guān)使用技巧,需要的朋友可以參考下2016-09-09
Python微服務(wù)開發(fā)之使用FastAPI構(gòu)建高效API
微服務(wù)架構(gòu)在現(xiàn)代軟件開發(fā)中日益普及,它將復(fù)雜的應(yīng)用程序拆分成多個(gè)可獨(dú)立部署的小型服務(wù)。本文將介紹如何使用 Python 的 FastAPI 庫(kù)快速構(gòu)建和部署微服務(wù),感興趣的可以了解一下2023-05-05
Flask框架踩坑之a(chǎn)jax跨域請(qǐng)求實(shí)現(xiàn)
這篇文章主要介紹了Flask框架踩坑之a(chǎn)jax跨域請(qǐng)求實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
幫你快速上手Jenkins并實(shí)現(xiàn)自動(dòng)化部署
在未學(xué)習(xí)Jenkins之前,只是對(duì)Jenkins有一個(gè)比較模糊的理解,即Jenkins是一個(gè)自動(dòng)化構(gòu)建項(xiàng)目發(fā)布的工具,可以實(shí)現(xiàn)代碼->github或者gitlab庫(kù)->jenkins自動(dòng)部署->訪問(wèn)的整體的過(guò)程,而無(wú)需人為重新打包,今天就帶大家詳細(xì)了解一下,幫你快速上手Jenkins,需要的朋友可以參考下2021-06-06
Python在實(shí)時(shí)數(shù)據(jù)流處理中集成Flink與Kafka
隨著大數(shù)據(jù)和實(shí)時(shí)計(jì)算的興起,實(shí)時(shí)數(shù)據(jù)流處理變得越來(lái)越重要,Flink和Kafka是實(shí)時(shí)數(shù)據(jù)流處理領(lǐng)域的兩個(gè)關(guān)鍵技術(shù),下面我們就來(lái)看看如何使用Python將Flink和Kafka集成在一起吧2025-03-03
Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作
今天小編就為大家分享一篇Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04

