python實現(xiàn)遍歷文件夾修改文件后綴
更新時間:2018年08月28日 15:11:18 投稿:lijiao
這篇文章主要介紹了python實現(xiàn)遍歷文件夾修改文件后綴,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了python實現(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): #如果當前路徑是文件夾,則跳過
Modifyprefix(currentdir,oldcontent,newcontent)
fname = os.path.splitext(file_name)[0] #分解出當前的文件路徑名字
ftype = os.path.splitext(file_name)[1] #分解出當前的文件擴展名
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) #文件路徑與新的文件名字+原來的擴展名
os.rename(currentdir,newname) #重命名
#批量修改文件擴展名(后綴)
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:]: #找到需要修改的擴展名
typecount[0]+=1
ftype=ftype.replace(oldftype,newftype)
newname = os.path.join(Path,fname+ftype) #文件路徑與原來的文件名字+新的擴展名
os.rename(currentdir,newname) #重命名
def Useage():
print unicode("\n[+] 用法: python Modifer.py [指定目錄] [選項] [參數(shù)1] [參數(shù)2]","utf-8")
print unicode("[+] 選項 [-fd] :批量修改目錄和文件名 [參數(shù)1]: 需要替換的字符 [參數(shù)2]:替換字符串","utf-8")
print unicode("[+] 選項 [-fp] :批量修改文件后綴名 [參數(shù)1]: 原后綴名 [參數(shù)2]:需要替換的后綴名","utf-8")
print unicode("[+] 選項 [-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ù)錯誤 !\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[+] 指定目錄錯誤 ! 請檢查輸入路徑是否正確,路徑中不能有空格\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個目錄和文件名"%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個后綴名"%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個目錄名、文件名和后綴名"%(typecount[0]+fdcount[0]),"utf-8")
else:
print unicode("\n[+] 選項錯誤 !\n","utf-8")
print unicode("[+] 用 -h 或--help 參數(shù)查看Modifer.py用法","utf-8")
sys.exit()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Pytorch技法之繼承Subset類完成自定義數(shù)據(jù)拆分
這篇文章主要介紹了Pytorch技法之繼承Subset類完成自定義數(shù)據(jù)拆分,下文我們介紹一些下面是加載內(nèi)置訓練數(shù)據(jù)集的常見操作,需要的小伙伴可以參考一下2022-02-02
python數(shù)據(jù)擬合之scipy.optimize.curve_fit解讀
這篇文章主要介紹了python數(shù)據(jù)擬合之scipy.optimize.curve_fit解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
python神經(jīng)網(wǎng)絡tf.name_scope和tf.variable_scope函數(shù)區(qū)別
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡tf.name_scope和tf.variable_scope函數(shù)的使用區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05

