Python小脚本——批量修改文件名与文件扩展名

来源:互联网 发布:通过销售数据进行分析 编辑:程序博客网 时间:2024/05/24 05:02

0x00:前言
有时候,需要对多个文件进行操作,批量修改名字或者修改文件的类型,改变文件扩展名。作为一个学编程的人,用鼠标一个一个的点击,不免太不方便了,也太low了。所以,干脆写个批量对文件名和文件扩展名修改的Python小脚本。
惭愧,正在学习Python,断断续续写了好几个小时。主要是对文件名进行正则匹配时,总是出错。最后不得以先放弃正则,用了字符串的replace方法。如果你有用正则写的,希望指点一下。

0x01:修改前后效果对比
修改前:
这里写图片描述
修改后:
这里写图片描述
0x02:源码

# coding:utf-8# by LandGrey# Function: Modify the file name or file postfiximport osPath = r'c:\works\try' #要修改文件所处路径all_file_list = os.listdir(Path) #列出指定目录下的所有文件Oldpart = "test" #要替换的文件名中的部分Newpart = "Land" #新的文件名部分Oldpostfix =r".txt" #要修改的文件扩展名类型Newpostfix = r".Grey" #新的文件扩展名类型#批量修改文件名字def Modifyprefix(oldcontent,newcontent):   for file_name in all_file_list:       currentdir =os.path.join(Path, file_name) #连接指定的路径和文件名or文件夹名字       if os.path.isdir(currentdir): #如果当前路径是文件夹,则跳过          continue        fname = os.path.splitext(file_name)[0] #分解出当前的文件路径名字        ftype = os.path.splitext(file_name)[1] #分解出当前的文件扩展名        replname =fname.replace(oldcontent,newcontent)         newname = os.path.join(Path,replname+ftype) #文件路径与新的文件名字+原来的扩展名        os.rename(currentdir,newname) #重命名   print "Modify file name........"#批量修改文件扩展名def Modifypostfix(oldftype,newftype):    for file_name in all_file_list:        currentdir =os.path.join(Path,file_name)        if os.path.isdir(currentdir): #跳过文件夹           continue        fname = os.path.splitext(file_name)[0]        ftype = os.path.splitext(file_name)[1]        if ftype ==oldftype: #找到需要修改的扩展名          newname = os.path.join(Path,fname+newftype) #文件路径与原来的文件名字+新的扩展名          os.rename(currentdir,newname) #重命名    print "Modify file postfix...... "Modifyprefix(Oldpart,Newpart)Modifypostfix(Oldpostfix,Newpostfix)print "finished !"

0x03:说明
详细的解说见注释。
由于博客改变了文本原缩进格式,虽我也尽力预览博文修改了,但还是请注意源码中的缩进。
共有两个不同的函数对应两个不同的功能,用到哪个最后就调用哪个,不用的那个函数就用“#”注释掉好了。

原创粉丝点击