Python实现批量更换指定目录下文件扩展名的方法

本文实例讲述了Python实现批量更换指定目录下文件扩展名的方法。分享给大家供大家参考,具体如下:

#encoding=utf-8#author: walker#date: 2013-12-06#function: 深度遍历指定目录,更换指定扩展名import osimport 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_extfor 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 versiontry:  from os import scandir, walk  #python3.5+except ImportError:  from scandir import scandir, walk #python3.4-

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》希望本文所述对大家Python程序设计有所帮助。诚实是人生绝妙的法宝。虽然对人诚实,

Python实现批量更换指定目录下文件扩展名的方法

相关文章:

你感兴趣的文章:

标签云: