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通过post提交数据的方法
May 06 Python
将Python代码打包为jar软件的简单方法
Aug 04 Python
Python探索之URL Dispatcher实例详解
Oct 28 Python
python实现决策树分类
Aug 30 Python
Python寻找两个有序数组的中位数实例详解
Dec 05 Python
想学python 这5本书籍你必看!
Dec 11 Python
Django框架模板注入操作示例【变量传递到模板】
Dec 19 Python
python 实现UTC时间加减的方法
Dec 31 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
Python学习笔记之For循环用法详解
Aug 14 Python
Python箱型图处理离群点的例子
Dec 09 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+mysql写的简单留言本实例代码
2008/07/25 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
Google 静态地图API实现代码
2010/11/19 Javascript
jQuery参数列表集合
2011/04/06 Javascript
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
js使用递归解析xml
2014/12/12 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
跟老齐学Python之一个免费的实验室
2014/09/14 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
洛佩桑酒店官方网站:Lopesan Hotels
2019/04/15 全球购物
新电JAVA笔试题目
2014/08/31 面试题
建筑个人求职信范文
2014/01/25 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
Nginx反向代理学习实例教程
2021/10/24 Servers