Python檔案管理對相應目錄下的進刪除、重新命名、移動檔案等相應操作
阿新 • • 發佈:2019-02-07
完整專案原始碼下載連結:http://download.csdn.net/download/henni_719/9771946#coding=utf8 ''' 該庫用來管理檔案。 初始化函式呼叫讀取配置檔案模組中的Config類 用來獲取下載路徑、儲存路徑。 模組包含四個方法: clearResultCSV(): 用來刪除下載路徑下所有的result開頭的csv檔案 moveCSVToSave():把下載路徑下的result.csv檔案重新命名,並把重新命名後的檔案移動到儲存路徑下 getLastFileWithPath():獲取儲存路徑下最新的檔案,並帶路徑返回該檔案 getLastFile():獲得最新檔案的命令並返回 ''' import os #操作檔案的包 import shutil import re import time #匯入讀取配置檔案庫的Config from readConfig import Config class FileManger(object): def __init__(self): try: #建立一個Config物件例項 self.config=Config() #通過物件例項呼叫方法getDownPath() #獲取下載路徑 self.down=self.config.getDownPath() #通過物件例項呼叫方法getSavePath() #獲取儲存路徑 self.save=self.config.getSavePath() except Exception,e: print e def clearResultCSV(self): try: #獲取下載路徑下的所有檔案 #並把檔案儲存在list變數fileList中 fileList=os.listdir(self.down) #判斷fileList是否為空,不為空執行if模組 if fileList: #對fileList中的元素進行迴圈 for item in fileList: #查詢下載路徑下是否存在result開頭的csv檔案 #如果存在,則刪除 if re.match("result(.*).csv",item): #刪除result開頭的csv檔案 os.remove(self.down+"\\"+item) except Exception,e: print e def moveCSVToSave(self): try: #獲取下載路徑下的所有檔案 #並把檔案儲存在list變數fileList中 fileList=os.listdir(self.down) #獲取當前時間並轉換為字串格式 now=time.strftime("%Y%m%d%H%M%S") #判斷fileList是否為空,不為空執行if模組 if fileList: #對fileList中的元素進行迴圈 for item in fileList: try: #查詢下載路徑下是否存在result.csv檔案 #如果存在,對檔案進行重新命名 if re.match("result.csv",item): #獲取帶有路徑的result.csv檔案 oldfilename=self.down+"\\"+item #重新命名的命令格式是符:20170306143330.csv newfileName=self.down+"\\"+now+".csv" #對檔案result.csv進行重新命名為格式如:20170306143330.csv os.rename(oldfilename,newfileName) #把重新命名的檔案移動到儲存路徑下 shutil.move(newfileName, self.save) except Exception,e: print e except Exception,e: print e def getLastFileWithPath(self): try: #獲取下載路徑下的所有檔案 #並把檔案儲存在list變數listfile中 listfile=os.listdir(self.save) #判斷listfile是否為空,不為空執行if模組 if listfile: #儲存帶有路徑的最新檔案 #listfile[-1]表示最後一個元素,最新插入的元素 lastfile=self.save+"\\"+listfile[-1] #返回最新檔案 return lastfile except Exception,e: print e def getLastFile(self): try: #獲取下載路徑下的所有檔案 #並把檔案儲存在list變數listfile中 listfile=os.listdir(self.save) #判斷listfile是否為空,不為空執行if模組 if listfile: #儲存帶有路徑的最新檔案 #listfile[-1]表示最後一個元素,最新插入的元素 return listfile[-1] except Exception,e: print e def test(): ''' 建立一個測試指令碼,執行冒煙測試。 用來驗證程式功能能正常執行。 ''' #建立一個Config物件例項 fm=FileManger() #fm.clearResultCSV() fm.moveCSVToSave() print fm.getLastFileWithPath(),os.listdir(fm.save) if __name__=="__main__": test()