Python实现批量更换指定目录下文件扩展名的方法


Posted in Python onSeptember 19, 2016

本文实例讲述了Python实现批量更换指定目录下文件扩展名的方法。分享给大家供大家参考,具体如下:

#encoding=utf-8
#author: walker
#date: 2013-12-06
#function: 深度遍历指定目录,更换指定扩展名
import os
import os.path
#读入指定目录并转换为绝对路径
rootdir = raw_input('root dir:\n')
rootdir = os.path.abspath(rootdir)
print('absolute path:\n' + rootdir)
#读入原扩展名并标准化
old_ext = raw_input('old extension:\n')
old_ext = old_ext.strip()
if old_ext[0] != '.':
  old_ext = '.' + old_ext
#读入新扩展名并标准化
new_ext = raw_input('new extension:\n')
new_ext = new_ext.strip()
if new_ext[0] != '.':
  new_ext = '.' + new_ext
for parent, dirnames, filenames in os.walk(rootdir):
  for filename in filenames:
    pathfile = os.path.join(parent, filename)
    if pathfile.endswith(old_ext):
      new_pathfile = os.path.splitext(pathfile)[0] + new_ext
      print('=======================================================')
      print(pathfile)
      print('-------------------------------------------------------')
      print(new_pathfile)
      print('=======================================================')
      os.rename(pathfile, new_pathfile)

PS:上述功能一个shell命令也可以实现

#将后缀.ini换成.txt
#路径名可以是相对路径或绝对路径
find 路径名 | rename 's/\.ini$/\.txt/'

注意,上面的rename命令是perl版的rename命令。

PS2:scandir的兼容代码。

# Use the built-in version of scandir/walk if possible, otherwise
# use the scandir module version
try:
  from os import scandir, walk  #python3.5+
except ImportError:
  from scandir import scandir, walk #python3.4-

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
5款非常棒的Python工具
Jan 05 Python
Python自定义简单图轴简单实例
Jan 08 Python
Python用sndhdr模块识别音频格式详解
Jan 11 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
python-xpath获取html文档的部分内容
Mar 06 Python
使用Python+selenium实现第一个自动化测试脚本
Mar 17 Python
Python内置函数property()如何使用
Sep 01 Python
如何使用Pytorch搭建模型
Oct 26 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 #Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 #Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 #Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 #Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 #Python
Python操作Access数据库基本步骤分析
Sep 19 #Python
Python自定义主从分布式架构实例分析
Sep 19 #Python
You might like
用文本文件制作留言板提示(下)
2006/10/09 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
2016/09/04 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
Python中的jquery PyQuery库使用小结
2014/05/13 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
transform python环境快速配置方法
2018/09/27 Python
python创建学生管理系统
2019/11/22 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
通过python检测字符串的字母
2020/02/18 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
2014年语文教师工作总结
2014/12/18 职场文书
netty 实现tomcat的示例代码
2022/06/05 Servers