Python對檔案進行批量隨機重新命名

來源:互聯網
上載者:User

最近項目比較緊,項目已經進入後期,那更是緊,測試忙的不可開交,本來是測試人員的任務,而自己又是新人,所以老大交給我一個任務,就是檢測開發完成Win8平台的一個項目是否存在記憶體泄露,使用windows內建的perfmon.msc進行監測,同時記錄監測資料,由於測試案例不是很多,所以,就需要對同一樣的測試案例進行多次複製,然後放在同一目錄下,然後由程式後台反覆開啟。但是,在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 randomimport osexistName = []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.upper() 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.upper())        [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')
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.