重命名批处理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 PO设计模式的具体使用

Python PO设计模式的具体使用

无规矩不成方圆。编写代码也是,如果没有大概的框架,管理代码将会是一件很头疼的事。 先看看笔者以前写的python脚本: 如果只有一个用例,这样看着好像挺整洁的。但是当用例越来越多后,如...

matplotlib简介,安装和简单实例代码

matplotlib简介,安装和简单实例代码

官网介绍: Matplotlib is a Python 2D plotting library which produces publication quality figures i...

Python黑魔法Descriptor描述符的实例解析

在Python中,访问一个属性的优先级顺序按照如下顺序: 1:类属性 2:数据描述符 3:实例属性 4:非数据描述符 5:__getattr__()方法  这个方法的完整定义如...

新手如何快速入门Python(菜鸟必看篇)

新手如何快速入门Python(菜鸟必看篇)

学习任何一门语言都是从入门(1年左右),通过不间断练习达到熟练水准(3到5年),少数人最终能精通语言,成为执牛耳者,他们是金字塔的最顶层。虽然万事开头难,但好的开始是成功的一半,今天这篇...

使用anaconda的pip安装第三方python包的操作步骤

相比于原生的python开发核心包,Anaconda已经集成了许多的第三方库,但是这在实际应用中是远远不够的,因此我们需要手动安装第三方库 使用pip可以快速的安装这些库 启动anaco...