用Python写的批量文件重命名

 

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

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

python之批量文件重命名

批量文件重命名问题,生活中或是工作中会经常用到.方法比较low多试验几次就可以了. # -*- coding: utf-8 -*- # @Time :2018/8/25 20:18 # @Author : ELEVEN # @File : 011_批量重命名文件.py # @Software: PyCharm import os # 1. 获取一个要重命名的文件夹的名字 folder_name = input("请输入要重命名的文件夹:") # 2. 获取那个文件夹中所有的文件名字 f

批量创建用户与批量文件重命名

title: 批量创建用户与批量文件重命名 tags: 批量,用户,创建,重命名 批量创建用户与批量文件重命名 1. 批量创建用户 如果需要批量创建用户,且用户名为stu01-stu10,用户密码为随机的10位密码. 1.1 分析解答 如果用户名为stu01的话,我们可以采用for循环,直接变量范围为01-10,密码随机的话我们可以采用系统默认的随机变量RANDOM,因为默认的RANDOM只有5位数字,因此我们可以给它md5加密,然后取其中的8位字符当做密码.当然我们也可以不用循环,直接使用命令

批量文件重命名

批量文件重命名 rename  flows.COMPLETED    flows   *.flows COMPLETED 将所有*.flows. COMPLETED 文件结尾的文件  改成 flows文件 rename命令说明 rename命令 文件处理 rename命令用字符串替换的方式批量改变文件名. 语法 rename(参数) 参数 原字符串:将文件名需要替换的字符串: 目标字符串:将文件名中含有的原字符替换成目标字符串: 文件:指定要改变文件名的文件列表. 实例 将main1.c重命名为

网页版批量文件重命名

功能:这是一个网页版的文件批量重命名 操作步骤: 输入文件所在的绝对路径, 输入你想要替换的关键字, 输入你想要用什么字符来替换他(可为空), 点击确定,文件将会批量被重命名, 点击撤回就会还原出起初的文件名字, 点击清空主要是一键清除文本框里面的内容. 总的有1个jsp,四个Java程序共同完成这个功能: start.jsp(显示界面)   CodeFilter.java(过滤器,主要负责编码)   ReceiveStartServlet.java(接受启动,进行文件操作) RevokeSer

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

原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一个一个找出来太麻烦,所以做了第二个功能.       最近刚刚学了Java文件和流的知识,所以正好练练手,这也是自己的第一个exe程序,分享一下哈. (导出jar文件,以及用工具exe4j生成exe文件,这部分省略了哈) 用到的知识: 用到Java中文件,流的知识,以及简单的GUI知识. 功能:  

Python脚本的实现文件重命名

第一次尝试用python写一个完整有用的程序,这个脚本实现了能把当前文件的指定文件按一定顺序进行重新命名,还是有一定的适用价值 下面贴代码 #coding:utf-8import osperfix='test' #perfix为重命名后的文件起始字符length=2 #length为除去perfix后,文件名要达到的长度base=1 #文件名的起始数format='txt' #文件的后缀#函数PadLeft将文件名补全到指定长度#str为将要补全的字符#num为要达到的长度#padstr 为达到

linux 批量文件重命名

centos 6.6  mv  rename  都不能满足需求 所有文件名格式如下: [[email protected]][1442146016999][<[email protected]>][[email protected]][您已成功预订[华山裕华宾馆]].html 需要将"]["更改为"###"并删除首尾的"["和"]" 1.首先转义   ls | sed 's/@/\\@/g' | sed 's/\[

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

经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如: 修改前:[大家网]Mac OS X for Unix Geeks[www.TopSage.com].mobi修改后:Mac OS X for Unix Geeks.mobi python代码如下 import osimport re def rename_dir(dir,regex,f):  if not os.path.isdir(dir) or

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

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