利用python批量重命名文件

程序功能:批量修改程序所在目录中指定后缀名的文件名为1,2,3,4,。。。,将对重命名的文件对应关系进行记录日志,生成rename_log.log文件。

输入:指定的后缀名(比如输入 .txt,或者 txt都可以)

输出:当前目录文件名被依次修改为1,2,3.....,日志文件rename_logs.log

import os
import time

class RenameAllfiles():
    def __init__(self,suffix): #指定类型的后缀,且只处理当前目录下的文件
        self.dirpath = '.'
        if suffix[0] !='.':
            self.suffix = '.'+suffix
        else:
            self.suffix = suffix
        
    def rename2seqnum(self):
        seqnum = 1
        AllFileNum = 0
        rename_logs = []
        for file in os.listdir(self.dirpath):
            fn,su = os.path.splitext(file)
            #print(fn,su)
            if su == self.suffix:
                AllFileNum += 1
                oldfilepath = os.path.join(self.dirpath,file)
                newname = str(seqnum)+su
                newfilepath = os.path.join(self.dirpath,newname)
                os.rename(oldfilepath,newfilepath)
                seqnum += 1
                #记录日志
                rename_logs.append((file,newname))
                
        with open(os.path.join(self.dirpath,'rename_log.log'),'a') as f:
            f.write(('+'*20+' '+time.asctime()+'(%d files) '+'+'*20+'\n')%(len(rename_logs)))
            for item in rename_logs:
                f.write(item[0]+'-->'+str(item[1])+'\n')
        
        print("Success! %d files(%s)"%(AllFileNum,self.suffix))
        
if __name__ == '__main__':
    suffix = input('please input the file suffix:')
    Raf = RenameAllfiles(suffix)
    Raf.rename2seqnum()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值