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 相关文章推荐
Python中list列表的一些进阶使用方法介绍
Aug 15 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
python字典排序的方法
Oct 12 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
Python JSON常用编解码方法代码实例
Sep 05 Python
python 生成器需注意的小问题
Sep 29 Python
python 获取域名到期时间的方法步骤
Feb 10 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 Python
python文件与路径操作神器 pathlib
Apr 01 Python
Python  lambda匿名函数和三元运算符
Apr 19 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 gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
php实现购物车功能(下)
2016/01/05 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
javascript 新浪背投广告实现代码
2009/07/07 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
javascript 原型与原型链的理解及实例分析
2019/11/23 Javascript
Python在Console下显示文本进度条的方法
2016/02/14 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
python实现报表自动化详解
2017/11/16 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
小学英语教学反思案例
2014/02/04 职场文书
租车协议书范本
2014/04/22 职场文书
公司周年庆典标语
2014/10/07 职场文书
健康状况证明模板
2014/10/23 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
八年级英语教学计划
2015/01/23 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
《颐和园》教学反思
2016/02/19 职场文书
MySQL 聚合函数排序
2021/07/16 MySQL