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实现对excel进行数据剔除操作实例
Dec 07 Python
使用Python的package机制如何简化utils包设计详解
Dec 11 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Pytorch上下采样函数--interpolate用法
Jul 07 Python
Python基于字典实现switch case函数调用
Jul 22 Python
python实现计算图形面积
Feb 22 Python
Python爬虫 简单介绍一下Xpath及使用
Apr 26 Python
python实现学生信息管理系统(面向对象)
Jun 05 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 split汉字
2009/06/05 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
详解参数传递四种形式
2015/07/21 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
详解redux异步操作实践
2018/08/15 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
Django Admin实现上传图片校验功能
2016/03/06 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
python实现电子书翻页小程序
2019/07/23 Python
Python Gitlab Api 使用方法
2019/08/28 Python
python中count函数简单用法
2020/01/05 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
专门经营化妆刷的美国彩妆品牌:Sigma Beauty
2017/09/11 全球购物
请解释在new与override的区别
2012/10/29 面试题
信息管理专业推荐信
2013/10/29 职场文书
公司财务工作总结的自我评价
2013/11/23 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
研讨会致辞
2015/07/31 职场文书
python中%格式表达式实例用法
2021/06/18 Python