python实现遍历文件夹修改文件后缀
本文实例为大家分享了python实现遍历文件夹修改文件后缀的具体代码,供大家参考,具体内容如下
用法pythonModifer.py./-fpjavaxml
#coding:utf-8
#BuildbyLandGrey2016-05-27
importos
importsys
#批量修改路径与文件名
defModifyprefix(Path,oldcontent,newcontent):
all_file_list=os.listdir(Path)#列出指定目录下的所有文件
forfile_nameinall_file_list:
currentdir=os.path.join(Path,file_name)#连接指定的路径和文件名or文件夹名字
ifos.path.isdir(currentdir):#如果当前路径是文件夹,则跳过
Modifyprefix(currentdir,oldcontent,newcontent)
fname=os.path.splitext(file_name)[0]#分解出当前的文件路径名字
ftype=os.path.splitext(file_name)[1]#分解出当前的文件扩展名
ifoldcontentinfname:
fdcount[0]+=1
replname=fname.replace(oldcontent,newcontent)#将原文件名中的'oldcontent'字符串内容全替换为'newcontent'字符串内容
newname=os.path.join(Path,replname+ftype)#文件路径与新的文件名字+原来的扩展名
os.rename(currentdir,newname)#重命名
#批量修改文件扩展名(后缀)
defModifypostfix(Path,oldftype,newftype):
all_file_list=os.listdir(Path)#列出指定目录下的所有文件
forfile_nameinall_file_list:
currentdir=os.path.join(Path,file_name)
ifos.path.isdir(currentdir):#迭代
Modifypostfix(currentdir,oldftype,newftype)
fname=os.path.splitext(file_name)[0]
ftype=os.path.splitext(file_name)[1]
ifoldftypeinftype[1:]:#找到需要修改的扩展名
typecount[0]+=1
ftype=ftype.replace(oldftype,newftype)
newname=os.path.join(Path,fname+ftype)#文件路径与原来的文件名字+新的扩展名
os.rename(currentdir,newname)#重命名
defUseage():
printunicode("\n[+]用法:pythonModifer.py[指定目录][选项][参数1][参数2]","utf-8")
printunicode("[+]选项[-fd]:批量修改目录和文件名[参数1]:需要替换的字符[参数2]:替换字符串","utf-8")
printunicode("[+]选项[-fp]:批量修改文件后缀名[参数1]:原后缀名[参数2]:需要替换的后缀名","utf-8")
printunicode("[+]选项[-all]:批量修改目录、文件名和文件后缀名[参数1]:需要替换的字符部分[参数2]:替换字符串","utf-8")
printunicode(r"[+]用法示例:pythonModifer.pyD:\files-fptxtdata","utf-8")
if__name__=="__main__":
typecount=[0]
fdcount=[0]
iflen(sys.argv)==2and"-h"insys.argv[1]:
Useage()
sys.exit()
eliflen(sys.argv)!=5:
printunicode("\n[+]参数错误!\n","utf-8")
printunicode("[+]用-h或--help参数查看Modifer.py用法","utf-8")
sys.exit()
elifos.path.isdir(sys.argv[1])isFalse:
printunicode("\n[+]指定目录错误!请检查输入路径是否正确,路径中不能有空格\n","utf-8")
printunicode("[+]用-h或--help参数查看Modifer.py用法","utf-8")
sys.exit()
elifsys.argv[2]=="-fd":
Modifyprefix(sys.argv[1],sys.argv[3],sys.argv[4])
printunicode("\n[+]Modifer.pyBuildbyLandGrey","utf-8")
printunicode("[+]完成!","utf-8")
printunicode("[+]共修改%s个目录和文件名"%fdcount[0],"utf-8")
elifsys.argv[2]=="-fp":
Modifypostfix(sys.argv[1],sys.argv[3],sys.argv[4])
printunicode("\n[+]Modifer.pyBuildbyLandGrey","utf-8")
printunicode("[+]完成!","utf-8")
printunicode("[+]共修改%s个后缀名"%typecount[0],"utf-8")
elifsys.argv[2]=="-all":
Modifypostfix(sys.argv[1],sys.argv[3],sys.argv[4])
Modifyprefix(sys.argv[1],sys.argv[3],sys.argv[4])
printunicode("\n[+]Modifer.pyBuildbyLandGrey","utf-8")
printunicode("[+]完成!","utf-8")
printunicode("[+]共修改%s个目录名、文件名和后缀名"%(typecount[0]+fdcount[0]),"utf-8")
else:
printunicode("\n[+]选项错误!\n","utf-8")
printunicode("[+]用-h或--help参数查看Modifer.py用法","utf-8")
sys.exit()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。