有些时候下载图片或其他文件,文件名都怪怪的,可选的办法是下载一个文件批量重命名的软件。当然,如果想自己‘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. Windows下配置使用 MemCached

    Windows下配置使用MemCached 工具: memcached-1.2.6-win32-bin.zip     MemCached服务端程序(for win) Memcached Manage ...

  2. Scroll文字滚动js

    function ScrollImgLeft(){ var speed=50, doc=document, scroll_begin = doc.getElementById("scroll ...

  3. uva 10827

    与108类似 多加了两层循环 水过 #include <iostream> #include <cstring> #include <cstdio> #includ ...

  4. Jmeter 使用实践 - 接口 diff 测试

    大多数人都使用 Jmeter 做过性能测试,但是在使用的过程中你会发现,它不仅可以做性能测试和功能测试,还能够满足基本的接口测试需求. 相比其他工具,Jmeter 入门门槛较低,安装也比较方便,根据自 ...

  5. DIY Ruby CPU 分析——Part III

    [编者按]作者 Emil Soman,Rubyist,除此之外竟然同时也是艺术家,吉他手,Garden City RubyConf 组织者.本文是 DIY Ruby CPU Profiling 的第二 ...

  6. HDU 1062 Text Reverse

    题意 : 给出你一个句子,让你把句子中每个单词的字母顺序颠倒一下输出. 思路 : 用栈即可,就是注意原来在哪儿有空格就要输出空格. //hdu1062 #include <iostream> ...

  7. HDU4714+三分

    题意:给定N个点,每个点有初始位置和初始速度. 问:在哪个时刻 使得所有的点的最大距离值最小. 分析:一开始枚举两两之间的最大值,然后在最大值中求一个最小值...(WA:题意严重理解不清..) 由两点 ...

  8. android webview网页控件

    一个WebView的简单例子 .在开发过程中应该注意几点: 1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则 ...

  9. PHP开发工具介绍之zendStudio

    1.PHP开发工具介绍之zendStudio 下载:进入官网:http://www.zend.com/en/products/studio 选择下载安装 注意这里的工作空间要和你Apache的工作目录 ...

  10. windows命令行编码与nodejs编码格式冲突的解决方式

    今天写一个工具,由于大部分人使用的机器都是windows,在和nodejs结合的时候出问题了. win命令行的编码格式是gbk,而nodejs支持的编码只有:utf8 ascii和base64,必须让 ...