重命名批处理python脚本

yipeiwu_com5年前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文件打包成.EXE可执行文件的方法

利用Python写了一个小脚本想要传给使用Windows但没有装Python的朋友执行,这时候就可以利用将档案包装成exe档案,让没有Python的朋友也可以执行。本篇将介绍利用套件...

基于Python安装pyecharts所遇的问题及解决方法

基于Python安装pyecharts所遇的问题及解决方法

最近学习到数据可视化内容,老师推荐安装pyecharts,于是pip install 了一下,结果...掉坑了,下面是我的跳坑经验,如果你有类似问题,希望对你有所帮助。 第一个坑: 这...

代码详解django中数据库设置

首先定义数据库的表名和字段 启动mysql数据库 bash mysql.server start 安装pymysql pip install pymysql PyMySQL 是在 Pyt...

Python编程中的异常处理教程

1、异常简介 从软件方面来说,错误是语法或是逻辑上的,当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常。异常分为两个阶段:首先是引起异常发生的...

详解django自定义中间件处理

中间件是一个钩子框架,它们可以介入 Django 的请求和响应处理过程。 它是一个轻量级、底层的 插件 系统,用于在 全局修改 Django 的输入或输出 。 每个中间件组件负责完成某个...