Python批量修改自定义文件名的程序

一个用于批量处理文件名的python程序

# rename(path_value , file_type, name_operation, keepName = False ,pre="",suffix=""):
#rename("D:\\testFile", "jpg", 2)  ##  前三个参数必须   后三个参数可选


# rename("D:\\testFile","jpg",0,True,"#","@")

# for i in range(18):
#    rename("D:\\testFile", "jpg", i)
#    time.sleep(3)

# for i in range(1000):
#    valueI = random.randint(0, 17);
#    rename("D:\\testFile", "jpg", valueI, True, "#", "@")
#    time.sleep(3)

rename(path_value , file_type, name_operation, keepName = False ,pre=”“,suffix=”“)

# 文件重命名程序
import os;
import sys
import time, datetime
import random

global absolutepath


class switch(object):
    def __init__(self, value):
        self.value = value
        self.fall = False

    def __iter__(self):
        """Return the match method once, then stop"""
        yield self.match
        raise StopIteration

    def match(self, *args):
        """Indicate whether or not to enter a case suite"""
        if self.fall or not args:
            return True
        elif self.value in args:  # changed for v1.5, see below
            self.fall = True
            return True
        else:
            return False


def sizeM(file):
    fsize = os.path.getsize(absolutepath + file)
    fsize = fsize / float(1024 * 1024)
    var = round(fsize, 2)
    vatInt = int(var / 1.0)
    if (vatInt < 1):  # 返回KB字符串标识  容易造成名字重复 1M 返回
        fsizeKB = os.path.getsize(absolutepath + file)
        fsizeKB = fsizeKB / float(1024)
        return str(int(fsizeKB)) + "KB"
    return str(vatInt) + "MB"


def sizeK(file):
    fsize = os.path.getsize(absolutepath + file)
    fsize = fsize / float(1024)
    var = round(fsize, 2)
    vatInt = int(var / 1.0)
    if (vatInt < 1):
        return "1KB";
    return str(vatInt) + "KB"


def strTime(times):
    time_local = time.localtime(times)
    timeStr = time.strftime("%Y-%m-%d", time_local)
    return timeStr;


def rename(path_value, file_type, name_operation, keepName=False, pre="", suffix=""):
    sizeMap = {}
    timeMap = {}
    listSize = []  ## 从大到小
    listTime = []  ## 从大到小
    listSize_low = []  ## 从小到大
    listTime_low = []  ## 从小到大
    nameFlag = keepName  ##  是否包含名字标识
    opera = name_operation;
    count = 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值