zoukankan      html  css  js  c++  java
  • Python实例31[批量对目录下文件重命名]

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

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

     
    python代码如下

    复制代码
    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))
    复制代码
  • 相关阅读:
    《web-Mail服务的搭建》
    VMware虚拟机三种联网方法及原理
    Java总结——常见Java集合实现细节(1)
    nginx静态资源缓存策略配置
    算术验证
    JPA学习
    Spring中AOP实现
    转:Spring中事物管理
    使用docker发布spring cloud应用
    综合使用spring cloud技术实现微服务应用
  • 原文地址:https://www.cnblogs.com/L-H-R-X-hehe/p/3815336.html
Copyright © 2011-2022 走看看