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实现的几个常用排序算法实例
Jun 16 Python
python中执行shell命令的几个方法小结
Sep 18 Python
Python脚本实现下载合并SAE日志
Feb 10 Python
Python中的ConfigParser模块使用详解
May 04 Python
Python 含参构造函数实例详解
May 25 Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
python pandas获取csv指定行 列的操作方法
Jul 12 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
python实现A*寻路算法
Jun 13 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中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
python 链接和操作 memcache方法
2017/03/04 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
Farah官方网站:男士服装及配件
2019/11/01 全球购物
内容编辑个人求职信
2013/12/10 职场文书
2015年药店工作总结
2015/04/20 职场文书