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 相关文章推荐
Python3实现生成随机密码的方法
Aug 23 Python
Python抽象类的新写法
Jun 18 Python
Python设计模式之装饰模式实例详解
Jan 21 Python
Python File(文件) 方法整理
Feb 18 Python
Django框架验证码用法实例分析
May 10 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
Jun 17 Python
基于pytorch 预训练的词向量用法详解
Jan 06 Python
Django后台管理系统的图文使用教学
Jan 20 Python
Python字典fromkeys()方法使用代码实例
Jul 20 Python
Python进行统计建模
Aug 10 Python
教你怎么用Python实现多路径迷宫
Apr 29 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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
php htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
2016/05/06 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
DOM 事件流详解
2015/01/20 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
VSCode搭建React Native环境
2020/05/07 Javascript
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
Python使用minidom读写xml的方法
2015/06/03 Python
Python编码类型转换方法详解
2016/07/01 Python
python logging日志模块原理及操作解析
2019/10/12 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
介绍一下linux文件系统分配策略
2013/02/25 面试题
法学研究生自我鉴定范文
2013/12/04 职场文书
学校安全检查制度
2014/01/27 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
路政管理求职信
2014/06/18 职场文书
2015新学期开学寄语
2015/02/26 职场文书
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS