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 相关文章推荐
pycharm 使用心得(五)断点调试
Jun 06 Python
Python常用列表数据结构小结
Aug 06 Python
python pandas dataframe 行列选择,切片操作方法
Apr 10 Python
python实现linux下抓包并存库功能
Jul 18 Python
python实现将汉字保存成文本的方法
Nov 16 Python
python 读取修改pcap包的例子
Jul 23 Python
python定时任务 sched模块用法实例
Nov 04 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
python列表返回重复数据的下标
Feb 10 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
Python实现寻找回文数字过程解析
Jun 09 Python
pycharm 添加解释器的方法步骤
Aug 31 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
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
使用js 设置url参数
2013/07/08 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
药物学专业学生的自我评价
2013/10/27 职场文书
办公室驾驶员岗位职责
2013/11/15 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
法人代表委托书
2014/04/04 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
就业协议书样本
2014/08/20 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
同意落户证明
2015/06/19 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL