重命名批处理python脚本

yipeiwu_com6年前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模块,学到了一些东西,呵呵!                                                

相关文章

python用类实现文章敏感词的过滤方法示例

python用类实现文章敏感词的过滤方法示例

过滤一遍并将敏感词替换之后剩余字符串中新组成了敏感词语,这种情况就要用递归来解决,直到过滤替换之后的结果和过滤之前一样时才算结束 第一步:建立一个敏感词库(.txt文本) 第二步:编写...

python射线法判断检测点是否位于区域外接矩形内

本文实例为大家分享了python射线法判断点是否位于区域内的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -...

Python判断对象是否相等及eq函数的讲解

摘要 什么是python对象的标识 python对象相等的判断 自定义python对象相等的条件 python对象的标识 python对象标识就是python对象自身的要...

python 解决flask 图片在线浏览或者直接下载的问题

目前是把图片存在mongodb数据库,实现一个方法,比如 访问 /get_pic/ID 能实现图片在浏览器打开,添加了一个状态,比如?filename=1.png,实现图片直接下载, 需...

在Pycharm中将pyinstaller加入External Tools的方法

在Pycharm中将pyinstaller加入External Tools的方法

Pycharm: 2017.1.2 PyInstaller: 3.3.1 第一步:安装pyinstaller 网上有很多种方法,在此不赘述。pycharm中,安装很方便。 进入设置(co...