1. 程式人生 > >將檔案移動到指定目錄下,並且加上時間戳進行重新命名

將檔案移動到指定目錄下,並且加上時間戳進行重新命名

    def add_timastamp(self):
        ''' return timestamp mark'''
        stamp = time.strftime("%Y%m%d%H%M%S",time.localtime())
        return(stamp)

    def rename_file(self,filename_without_timestamp):
        '''add timestamp to filename'''
        (file_without_suff,extention) = os.path.splitext(filename_without_timestamp)
        stamp = self.add_timastamp()
        file_add_timestamp = file_without_suff + stamp
        file_with_timestamp =  file_add_timestamp + extention
        # print filename_without_timestamp,file_with_timestamp
        os.rename(filename_without_timestamp,file_with_timestamp)

    def move_rename_file(self,filename):
        '''move file to aimed path,then rename it by adding timestamp'''
        filebak_path = os.path.join(PATH,"src_file","filebak")
        if os.path.exists(filebak_path):
            shutil.move(filename,filebak_path)
            filename_without_path = os.path.split(filename)[1]#out.txt
            filename_to_rename = os.path.join(filebak_path,filename_without_path)
            self.rename_file(filename_to_rename)
        else:
            os.mkdir(filebak_path)
            shutil.move(filename,filebak_path)
            filename_without_path = os.path.split(filename)[0]
            filename_to_rename = os.path.join(filebak_path,filename_without_path)
            self.rename_file(filename_to_rename)

判斷資料夾是否存在,若存在,則將該檔案移動到資料夾下,若不存在,則新建資料夾並將檔案移動到資料夾下。而重新命名的操作是在移動後的資料夾中進行的。