有些时候下载图片或其他文件,文件名都怪怪的,可选的办法是下载一个文件批量重命名的软件。当然,如果想自己‘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写的批量文件重命名
时间: 2024-10-13 00:40:26