有些时候下载图片或其他文件,文件名都怪怪的,可选的办法是下载一个文件批量重命名的软件。当然,如果想自己‘DIY’一把的话编个Python脚本最好不过了。

下面的代码实现的对指定类型的文件进行批量重命名。拷贝下面的代码到待批量命名的文件夹下,保存为xx.py直接运行,程序会提示需要批量命名的扩展名,以及重命名时的文件前缀。

# -*- coding: cp936 -*-
"""
Created on Wed Jun 25 16:24:23 2014 @author: Administrator
""" import os def doRename():
fi_num_cnt = 1
input_max_len = max(list_len)
preFix=raw_input("请输入文件前缀:\n")
for ifile in ext_list:
new_name = preFix+str(fi_num_cnt)+'.'+ext
while True:
if os.path.exists(new_name):
fi_num_cnt+=1
new_name = preFix+str(fi_num_cnt)+'.'+ext
else:
break print ifile.rjust(input_max_len,' '),3*' ','重命名为:'.ljust(5,' '),new_name.rjust(10,' ')
try:
os.rename(ifile,new_name)
except Exception,e:
print e
fi_num_cnt +=1
if __name__=='__main__':
while True:
ext = raw_input("请输入要批量命名的文件后缀名:如jpg、txt。直接回车则退出程序\n")
if ext == '':
exit()
allFiles = os.listdir(os.curdir)
ext_list=[]
list_len=[]
for ifile in allFiles:
if os.path.isfile(ifile) and os.path.splitext(ifile)[1][1:].lower()==ext \
and ifile != os.path.basename(__file__):
ext_list.append(ifile)
list_len.append(len(ifile))
if len(ext_list)==0:
print '未发现 *.',ext,'类型的文件'
else:
break print '找到如下*.',ext,'文件:'
for ifile in ext_list:
print ifile
print 25*'*' while True and len(ext_list)!=0:
choice = raw_input('您确定要对这些文件批量重命名吗?(Y/y或直接回车--确定,N/n--取消)\n')
if choice=='' or choice=='Y' or choice == 'y':
doRename()
print '处理完毕!'
raw_input()
break
elif choice == 'N' or choice =='n':
break

用Python写的批量文件重命名的更多相关文章

  1. python实现批量文件重命名

    本文实例为大家分享了python批量文件重命名的具体代码,供大家参考,具体内容如下 问题描述 最近遇到朋友求助,如何将大量文件名前面的某些字符删除. 即将图中文件前的编号删除. Python实现 用到 ...

  2. python工具 - 批量文件重命名

    日常工作中经常会遇到这样的情况,需要将某个文件夹下的文件按着一定的规则进行重命名,当文件数量及其庞大的时候手工一个一个的去修需要耗费大量的时间,以下python工具可以协助批量修改文件名. 场景:某文 ...

  3. Java用来进行批量文件重命名,批量提取特定类型文件

    原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一 ...

  4. Python批量文件重命名

    今天,得到一个里面都是图片的文件夹,但是图片都没有后缀,因此想用Pythton批量地为所有的文件加上".jpg"的后缀,代码如下: #-*- coding:utf-8 -*- #重 ...

  5. 批量文件重命名工具-极力推荐 advanced renamer

    http://www.advancedrenamer.com/  功能太强大了,自己慢慢探索吧.

  6. Python实例31[批量对目录下文件重命名]

    经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如: 修改前:[大家网]Mac OS X for Uni ...

  7. asp.net 文件批量移动重命名

    最近闲时写了个批量移动重命名文件的工具 点击下载工具

  8. python学习笔记--文件重命名,删除及文件夹

    文件重命名 import os os.rename('123.txt','456.txt') 删除文件 >>> import os >>> os.remove('4 ...

  9. Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量。

    myeclipse和eclipse集成编译软件,都提供了一个快捷键用来批量重命名变量:Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量.扩展知识:如果想要重命名文件名,又不想手动 ...

随机推荐

  1. API HOOK

    API HOOK技术是一种用于改变API执行结果的技术,Microsoft 自身也在Windows操作系统里面使用了这个技术,如Windows兼容模式等. API HOOK 技术并不是计算机病毒专有技 ...

  2. oracle 增加字段

    之前很多表增加很多相同的字段,一个一个添加太慢烦了,于是用了以下的方法alter table t_xmlc_batch_out_head_bak add ( SENDRECEIVEFLAG ) , S ...

  3. Android ExpandableListView 带有Checkbox的简单应用

    expandablelistview2_groups.xml <?xml version="1.0" encoding="utf-8"?> < ...

  4. spring 异常管理机制

    三.异常处理的几种实现: 3.1.在经典的三层架构模型中,通常都是这样来进行异常处理的: A.持久层一般抛出的是RuntiomeException类型的异常,一般不处理,直接向上抛出. B.业务层一般 ...

  5. iOS 图片背景模糊效果

    iOS 图片背景模糊效果 1.使用CoreImage中的模糊滤镜 原始效果图如下: CoreImage的实现: - (void)viewDidLoad { [super viewDidLoad]; / ...

  6. Altium Designer13 如何导出Gerber文件

    参考<http://blog.sina.com.cn/s/blog_9b9a51990100zyyv.html> 版本:AD13.3.4 目的:Gerber文件导出备忘 目录: Step1 ...

  7. POJ 1879 Tempus et mobilius Time and motion 队列和栈

    很简单的队列和栈的应用,不过读明白题意非常重要:(直接引用白书的题解)三个轨道,一个库.分别是分钟单位的轨道,5min单位的轨道,一小时单位的轨道,还有就是n容量的库.每过一分钟,一个小球从库里面出来 ...

  8. SRM589

    250: 给一个串S,可以做这样的操作,可以将串中的一种字母变成另一种字母,代价是该种字母的数量.求解的问题是,最小的代价将串S变成回文串. 根据回文关系,我们可以形成等价对应关系,a与b等价对应说明 ...

  9. centos更新163源并升级内核

    使用说明 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...

  10. 安装Hadoop系列 — 安装JDK-8u5

    安装步骤如下: 1)下载 JDK 8 从http://www.oracle.com/technetwork/java/javasebusiness/downloads/ 选择下载JDK的最新版本 JD ...