码迷,mamicode.com
首页 > 编程语言 > 详细

Python实例31[批量对目录下文件重命名]

时间:2014-07-07 14:27:23      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   文件   os   for   

 

经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:
例如:

修改前:[大家网]Mac OS X for Unix Geeks[www.TopSage.com].mobi
修改后:Mac OS X for Unix Geeks.mobi

 
python代码如下

bubuko.com,布布扣
import os
import re

def rename_dir(dir,regex,f):
  if not os.path.isdir(dir) or not os.path.exists(dir) : 
    print("The input is not one directory or not exist.")
  for root,subdirs,files in os.walk(dir):
    for name in files:
      oldname = name          
      newname = re.sub(regex,f,name)
      print("Before : " + os.path.join(root,oldname))
      print("After  :  " + os.path.join(root,newname))
      if not name == newname and not os.path.exists(os.path.join(root,newname)):
        os.rename(os.path.join(root,oldname),os.path.join(root,newname))
    for dir in subdirs:
        rename_dir(os.path.join(root,dir))

rename_dir("C:\\Python31\\test","\[.*\](.*)\[www.TopSage.com\](.*)",lambda m:m.group(1)+m.group(2))
bubuko.com,布布扣

Python实例31[批量对目录下文件重命名],布布扣,bubuko.com

Python实例31[批量对目录下文件重命名]

标签:blog   http   使用   文件   os   for   

原文地址:http://www.cnblogs.com/L-H-R-X-hehe/p/3815336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!