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实现电子词典
Apr 23 Python
Python实现网站文件的全备份和差异备份
Nov 30 Python
Python中的ceil()方法使用教程
May 14 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
python 创建一维的0向量实例
Dec 02 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
Python json读写方式和字典相互转化
Apr 18 Python
python实现图像高斯金字塔的示例代码
Dec 11 Python
Python  lambda匿名函数和三元运算符
Apr 19 Python
Python 中面向接口编程
May 20 Python
Python实现双向链表基本操作
May 25 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
VFP与其他应用程序的集成
2006/10/09 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
JavaScript Date对象使用总结
2009/05/14 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
Python的装饰器用法学习笔记
2016/06/24 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
python实现批量图片格式转换
2020/06/16 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
python实现字典嵌套列表取值
2019/12/16 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
Python configparser模块常用方法解析
2020/05/22 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
驾驶员岗位职责
2014/01/29 职场文书
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
《狮子和兔子》教学反思
2014/03/02 职场文书
2014社区三八妇女节活动方案
2014/03/30 职场文书
拓展训练激励口号
2014/06/17 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
黄河绝恋观后感
2015/06/08 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js