前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python对文件进行批量随机重命名

Python对文件进行批量随机重命名

作者头像
bear_fish
发布2018-09-20 15:17:27
1.5K0
发布2018-09-20 15:17:27
举报
文章被收录于专栏:用户2442861的专栏

http://blog.csdn.net/vipygd/article/details/7959440

最近项目比较紧,项目已经进入后期,那更是紧,测试忙的不可开交,本来是测试人员的任务,而自己又是新人,所以老大交给我一个任务,就是检测开发完成Win8平台的一个项目是否存在内存泄露,使用windows自带的perfmon.msc进行监测,同时记录监测数据,由于测试用例不是很多,所以,就需要对同一样的测试用例进行多次复制,然后放在同一目录下,然后由程序后台反复打开。但是,在windows8中,在同一文件进行多次复制,会出现文件的命名就是在原文件后面简单的加一个副本(1),但是,如果是这样的话,就会出现同样大小的文件出现排列在一起,使用Windows8自带的排序功能,是无法将文件排序成乱序的,如果是这样,会对程序的监控带来误差。假如,如果一系列比较大的文件在一起,使用程序打开文件,会出现内存的浮动,而这种浮动存在不稳定性,对测试造成误差,这是无法容忍的。所以,最好的办法就是对所有文件进行重命名,随机命名,然后,就能按照这种方式打乱排序,然后在进行测试。

程序Demo如下:

[python] view plaincopyprint?

  1. #RenameRand.py
  2. #Yanggd 2012/9/7
  3. #get file name, and then rename the file
  4. #after renamed, the name likes this:[a-zA-Z][a-zA-Z][0-9][0-9][a-zA-Z][0-9]
  5. import random  
  6. import os  
  7. existName = []  
  8. def renameRand(path):  
  9.     fileList = os.listdir(path) #list the file name
  10.     rangeLetter=('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')  
  11. for oldFileNameAndExt in fileList:  
  12.         newFileName = random.choice(rangeLetter)+random.choice(rangeLetter)+ \  
  13.         str(random.randrange(10))+str(random.randrange(10))+random.choice(rangeLetter)+str(random.randrange(10))  
  14. while newFileName.upper() in existName:  
  15.             newFileName = random.choice(rangeLetter) + random.choice(rangeLetter)+ \  
  16.             str(random.randrange(10))+str(random.randrange(10))+random.choice(rangeLetter)+str(random.randrange(10))  
  17.         existName.append(newFileName.upper())  
  18.         [oldFileName, fileExt] = oldFileNameAndExt.split('.', 1)  
  19.         newFileNameAndExt = [newFileName, fileExt]  
  20.         newFileNameAndExt = '.'.join(newFileNameAndExt)  
  21.         path = os.path.abspath(path)  
  22.         pathSrc = path + '\\' + oldFileNameAndExt  
  23.         pathDst = path + '\\' + newFileNameAndExt  
  24.         os.rename(pathSrc, pathDst)  
  25. if __name__ == '__main__':  
  26.     renameRand(r'F:\Practice code\testData\rename')  
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年04月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档