重命名批处理脚本_python

      师兄采集的视网膜图像放在一个文件夹下,由于分类十分混乱,因此出现了一个文件多次出现的情况,因此让我写了个脚本,将Copy of ********.bmp或者Copy of Copy of ********.bmp 此类文件统一命名为********0.bmp 或者********00.bmp等格式,后面的0的个数代表********.bmp出现的次数+1。写了个下面的小脚本:

import os
"""
这个程序是用来将文件名改名,因为在文件夹里面有很多Copy of 重文件名,因此去掉windows
重命名风格而换用新的累加命名机制
作者:chenxofHit@gmail.com
时间:2011年4月13日
"""
def getFileNames(dirs, dict):
     #dir为目录名,lst列表
     filenames=os.listdir(dirs)
     for name in filenames:
          key = filenames[filenames.index(name)] 
          sign = "Copy Of "
          judge = key.find(sign)
          if  (judge != -1 ):
              dict[key]  = 1
          else: #提取其中的真实文件名
              trueKey= key[-12:]  #因为真实的文件名都是在12位
              if trueKey not in dict: #字典中不存在
                  dict[trueKey]=1
                  os.rename(dirs+str(os.sep)+name,dirs+str(os.sep)+trueKey)
              else:
                  #split finames
                  newKey= str(trueKey[:-4])+str('0'*dict[trueKey])+ str(trueKey[-3:])
                  dict[trueKey] = dict[trueKey]+1     
                  os.rename(dirs+os.sep+name,dirs+os.sep+newKey)

if '__name__=__main__':
    dict={}
    dirs = "C://temp"
    getFileNames(dirs, dict)
     
用到了字典,用到了os模块,学到了一些东西,呵呵!

转载于:https://www.cnblogs.com/ChenxofHit/archive/2011/04/13/2015435.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值