Python对文件进行批量随机重命名
2012-09-09 06:05:38 来源:WEB开发网核心提示: 在windows8中,在同一文件进行多次复制,Python对文件进行批量随机重命名,会出现文件的命名就是在原文件后面简单的加一个副本(1),但是,然后,就能按照这种方式打乱排序,如果是这样的话,就会出现同样大小的文件出现排列在一起
在windows8中,在同一文件进行多次复制,会出现文件的命名就是在原文件后面简单的加一个副本(1),但是,如果是这样的话,就会出现同样大小的文件出现排列在一起,使用Windows8自带的排序功能,是无法将文件排序成乱序的,如果是这样,会对程序的监控带来误差。假如,如果一系列比较大的文件在一起,使用程序打开文件,会出现内存的浮动,而这种浮动存在不稳定性,对测试造成误差,这是无法容忍的。所以,最好的办法就是对所有文件进行重命名,随机命名,然后,就能按照这种方式打乱排序,然后在进行测试。
程序Demo如下:
#RenameRand.py #Yanggd 2012/9/7 #get file name, and then rename the file #after renamed, the name likes this:[a-zA-Z][a-zA-Z][0-9][0-9][a-zA-Z][0-9] import random import os existName = [] def renameRand(path): fileList = os.listdir(path) #list the file name rangeLetter=('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') for oldFileNameAndExt in fileList: newFileName = random.choice(rangeLetter)+random.choice(rangeLetter)+ \ str(random.randrange(10))+str(random.randrange(10))+random.choice(rangeLetter)+str(random.randrange(10)) while newFileName in existName: newFileName = random.choice(rangeLetter) + random.choice(rangeLetter)+ \ str(random.randrange(10))+str(random.randrange(10))+random.choice(rangeLetter)+str(random.randrange(10)) existName.append(newFileName) [oldFileName, fileExt] = oldFileNameAndExt.split('.', 1) newFileNameAndExt = [newFileName, fileExt] newFileNameAndExt = '.'.join(newFileNameAndExt) path = os.path.abspath(path) pathSrc = path + '\\' + oldFileNameAndExt pathDst = path + '\\' + newFileNameAndExt os.rename(pathSrc, pathDst) if __name__ == '__main__': renameRand(r'F:\Practice code\testData\rename')
更多精彩
赞助商链接