首页 > 编程语言 > 详细

用Python写的批量文件重命名

时间:2014-06-26 18:30:56      阅读:415      评论:0      收藏:0      [点我收藏+]

 

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

用Python写的批量文件重命名

原文:http://www.cnblogs.com/mmhx/p/3808466.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!