重命名批处理python脚本


Posted in Python onApril 05, 2013

将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生成指定尺寸缩略图的示例
May 07 Python
Python smallseg分词用法实例分析
May 28 Python
基于python实现微信模板消息
Dec 21 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
Jan 31 Python
python读取和保存图片5种方法对比
Sep 12 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
python 遍历pd.Series的index和value
Nov 26 Python
Python-opencv 双线性插值实例
Jan 17 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 Python
Python编写的com组件发生R6034错误的原因与解决办法
Apr 01 #Python
Python中用Ctrl+C终止多线程程序的问题解决
Mar 30 #Python
python利用hook技术破解https的实例代码
Mar 25 #Python
利用python获得时间的实例说明
Mar 25 #Python
python 将字符串转换成字典dict
Mar 24 #Python
使用python提取html文件中的特定数据的实现代码
Mar 24 #Python
python 切片和range()用法说明
Mar 24 #Python
You might like
第十五节--Zend引擎的发展
2006/11/16 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
又一个小巧的图片预加载类
2007/05/05 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
ionic2懒加载配置详解
2017/09/01 Javascript
基于JS实现带动画效果的流程进度条
2018/06/01 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
python类继承用法实例分析
2015/05/27 Python
python标记语句块使用方法总结
2019/08/05 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
美国创意之家:BulbHead
2017/07/12 全球购物
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
畜牧兽医本科生的自我评价
2014/03/03 职场文书
党课培训主持词
2014/04/01 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
合同补充协议书
2016/03/24 职场文书