python實(shí)現(xiàn)遍歷文件夾修改文件后綴
本文實(shí)例為大家分享了python實(shí)現(xiàn)遍歷文件夾修改文件后綴的具體代碼,供大家參考,具體內(nèi)容如下
用法 python Modifer.py ./ -fp java xml
# coding:utf-8 # Build by LandGrey 2016-05-27 import os import sys #批量修改路徑與文件名 def Modifyprefix(Path,oldcontent,newcontent): all_file_list = os.listdir(Path) #列出指定目錄下的所有文件 for file_name in all_file_list: currentdir =os.path.join(Path, file_name) #連接指定的路徑和文件名or文件夾名字 if os.path.isdir(currentdir): #如果當(dāng)前路徑是文件夾,則跳過 Modifyprefix(currentdir,oldcontent,newcontent) fname = os.path.splitext(file_name)[0] #分解出當(dāng)前的文件路徑名字 ftype = os.path.splitext(file_name)[1] #分解出當(dāng)前的文件擴(kuò)展名 if oldcontent in fname: fdcount[0]+=1 replname =fname.replace(oldcontent,newcontent) #將原文件名中的'oldcontent'字符串內(nèi)容全替換為'newcontent'字符串內(nèi)容 newname = os.path.join(Path,replname+ftype) #文件路徑與新的文件名字+原來的擴(kuò)展名 os.rename(currentdir,newname) #重命名 #批量修改文件擴(kuò)展名(后綴) def Modifypostfix(Path,oldftype,newftype): all_file_list = os.listdir(Path) #列出指定目錄下的所有文件 for file_name in all_file_list: currentdir =os.path.join(Path,file_name) if os.path.isdir(currentdir): #迭代 Modifypostfix(currentdir,oldftype,newftype) fname = os.path.splitext(file_name)[0] ftype = os.path.splitext(file_name)[1] if oldftype in ftype[1:]: #找到需要修改的擴(kuò)展名 typecount[0]+=1 ftype=ftype.replace(oldftype,newftype) newname = os.path.join(Path,fname+ftype) #文件路徑與原來的文件名字+新的擴(kuò)展名 os.rename(currentdir,newname) #重命名 def Useage(): print unicode("\n[+] 用法: python Modifer.py [指定目錄] [選項(xiàng)] [參數(shù)1] [參數(shù)2]","utf-8") print unicode("[+] 選項(xiàng) [-fd] :批量修改目錄和文件名 [參數(shù)1]: 需要替換的字符 [參數(shù)2]:替換字符串","utf-8") print unicode("[+] 選項(xiàng) [-fp] :批量修改文件后綴名 [參數(shù)1]: 原后綴名 [參數(shù)2]:需要替換的后綴名","utf-8") print unicode("[+] 選項(xiàng) [-all] :批量修改目錄、文件名和文件后綴名 [參數(shù)1]: 需要替換的字符部分 [參數(shù)2]:替換字符串","utf-8") print unicode(r"[+] 用法示例:python Modifer.py D:\files -fp txt data","utf-8") if __name__=="__main__": typecount=[0] fdcount=[0] if len(sys.argv)==2 and "-h" in sys.argv[1]: Useage() sys.exit() elif len(sys.argv) !=5: print unicode("\n[+] 參數(shù)錯(cuò)誤 !\n","utf-8") print unicode("[+] 用 -h 或--help 參數(shù)查看Modifer.py用法","utf-8") sys.exit() elif os.path.isdir(sys.argv[1]) is False: print unicode("\n[+] 指定目錄錯(cuò)誤 ! 請(qǐng)檢查輸入路徑是否正確,路徑中不能有空格\n","utf-8") print unicode("[+] 用 -h 或--help 參數(shù)查看Modifer.py用法","utf-8") sys.exit() elif sys.argv[2]=="-fd": Modifyprefix(sys.argv[1],sys.argv[3],sys.argv[4]) print unicode("\n[+] Modifer.py Build by LandGrey","utf-8") print unicode("[+] 完成 !","utf-8") print unicode("[+] 共修改%s個(gè)目錄和文件名"%fdcount[0],"utf-8") elif sys.argv[2]=="-fp": Modifypostfix(sys.argv[1],sys.argv[3],sys.argv[4]) print unicode("\n[+] Modifer.py Build by LandGrey","utf-8") print unicode("[+] 完成 !","utf-8") print unicode("[+] 共修改%s個(gè)后綴名"%typecount[0],"utf-8") elif sys.argv[2]=="-all": Modifypostfix(sys.argv[1],sys.argv[3],sys.argv[4]) Modifyprefix(sys.argv[1],sys.argv[3],sys.argv[4]) print unicode("\n[+] Modifer.py Build by LandGrey","utf-8") print unicode("[+] 完成 !","utf-8") print unicode("[+] 共修改%s個(gè)目錄名、文件名和后綴名"%(typecount[0]+fdcount[0]),"utf-8") else: print unicode("\n[+] 選項(xiàng)錯(cuò)誤 !\n","utf-8") print unicode("[+] 用 -h 或--help 參數(shù)查看Modifer.py用法","utf-8") sys.exit()
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PyCharm+Qt Designer+PyUIC安裝配置教程詳解
這篇文章主要介紹了PyCharm+Qt Designer+PyUIC安裝配置教程詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06python自動(dòng)化測(cè)試之異常及日志操作實(shí)例分析
這篇文章主要介紹了python自動(dòng)化測(cè)試之異常及日志操作,結(jié)合實(shí)例形式分析了python自動(dòng)化測(cè)試中的異常捕獲與日志記錄相關(guān)操作技巧,需要的朋友可以參考下2019-11-11Python?matplotlib實(shí)戰(zhàn)之氣泡圖繪制
氣泡圖是一種多變量的統(tǒng)計(jì)圖表,可以看作是散點(diǎn)圖的變形,這篇文章主要為大家介紹了如何使用Matplotlib繪制氣泡圖,需要的小伙伴可以參考下2023-08-08Python爬取OPGG上英雄聯(lián)盟英雄勝率及選取率信息的操作
這篇文章主要介紹了Python爬取OPGG上英雄聯(lián)盟英雄勝率及選取率信息的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-0411個(gè)Python3字典內(nèi)置方法大全與示例匯總
這篇文章主要給大家介紹了11個(gè)Python3字典內(nèi)置方法大全與示例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05淺談Pycharm調(diào)用同級(jí)目錄下的py腳本bug
今天小編就為大家分享一篇淺談Pycharm調(diào)用同級(jí)目錄下的py腳本bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12