一个用于批量处理文件名的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