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获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
初步探究Python程序的执行原理
Apr 11 Python
python多线程socket编程之多客户端接入
Sep 12 Python
python中is与双等于号“==”的区别示例详解
Nov 21 Python
Python中存取文件的4种不同操作
Jul 02 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
Django中和时区相关的安全问题详解
Oct 12 Python
python 制作网站筛选工具(附源码)
Jan 21 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
Zerg基本策略
2020/03/14 星际争霸
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
php把session写入数据库示例
2014/02/26 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
pyv8学习python和javascript变量进行交互
2013/12/04 Python
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
Python实现批量修改文件名实例
2015/07/08 Python
Python中一行和多行import模块问题
2018/04/01 Python
python操作文件的参数整理
2019/06/11 Python
python 实现单通道转3通道
2019/12/03 Python
Python内置函数property()如何使用
2020/09/01 Python
Python模块常用四种安装方式
2020/10/20 Python
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
Python面试题:如何用Python来发送邮件
2016/03/15 面试题
医院门卫岗位职责
2013/12/30 职场文书
学生党支部先进事迹
2014/02/04 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
幼儿园园长安全责任书
2015/05/08 职场文书
Python实现拼音转换
2021/06/07 Python
Python学习之迭代器详解
2022/04/01 Python