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:说明
详细的解说见注释。
由于博客改变了文本原缩进格式,虽我也尽力预览博文修改了,但还是请注意源码中的缩进。
共有两个不同的函数对应两个不同的功能,用到哪个最后就调用哪个,不用的那个函数就用“#”注释掉好了。
阅读全文
0 0
- Python小脚本——批量修改文件名与文件扩展名
- Python小脚本—批量修改文件名与文件扩展名升级版
- 小脚本之windows批量修改文件后缀名
- python实现批量修改文件扩展名
- 批量修改文件扩展名
- 批量修改文件扩展名
- python文件命名小脚本
- 批量修改文件名(含扩展名)
- Python批量修改文件名与后缀
- Python批量修改文件名
- python 批量修改文件名
- Python批量修改文件名
- python批量修改文件名
- python批量修改文件名
- python 批量修改文件名
- python批量修改文件名
- python批量修改文件名
- Python批量修改文件名
- 接口测试指导之必收秘籍(内含用例及执行注意点)
- angularjs 动态控制添加 元素 (动态添加成员)
- 二级列表完美实现购物车
- there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT
- DB2语句优化
- Python小脚本——批量修改文件名与文件扩展名
- Setting property 'source' to 'org.eclipse.jst.jee.server:XX did not find a mat的解决办法
- DefaultHttpClient过时的替换
- [日推荐]『识花草』做个辛勤的小园丁
- 2017-9-17pat甲级 B
- 码云 IntelliJ IDEA 插件 Intellij-GitOSC
- dwr实现javaweb实时聊天通讯网页版常见问题及解决方案
- 流媒体相关交互协议和开源服务介绍
- linux文件时间参数atime,ctime,mtime