溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么備份目錄

發(fā)布時間:2021-07-10 15:55:54 來源:億速云 閱讀:317 作者:Leah 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)Python中怎么備份目錄,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1. 讀取配置文件

配置文件很簡單。用的就是txt文件。 格式類似于:

# root:/Users/lichallenger/test_src/  # project:test  # destination:/Users/lichallenger/test_dst/

BTW: 我用的是Mac所以目錄格式是這樣的。如果你用的是Windows的話請適當修改配置文件。

讀文件就是最簡單的了。直接用標準庫的文件操作模塊打開文件,讀出全部的配置。一共就三行,所以也不用考慮效率什么的了。

# open config file and read config information  # author: bruce li   class ConfigHandler(object):      #      def __init__(self,config_path):          '''''initializer'''         self.config_path = config_path            #read config infor      def read_config(self):          f = open(self.config_path)           try:              self.all_lines = f.readlines()          except:              raise              else:              f.close()

2. 拷貝目錄和目錄內(nèi)容

拷貝目錄用了shutil模塊。里面有個方法可以直接把目錄和目錄下的全部內(nèi)容拷貝到制定的其他目錄。

這樣就省得搞目錄遍歷之類的代碼了。

# copy dir(s) & file(s) to configured path  # author: bruce li   import shutil   class CopyHandler(object):      #      def __init__(self,src_path,dest_path):          self.src_path = src_path          self.dest_path = dest_path       def move_content(self):          try:              shutil.copytree(self.src_path,self.dest_path)          except:              raise           @staticmethod     def    move_src_content(src, dest):          try:              shutil.copytree(src_path,dest_path)          except:              raise

3. 綜合調(diào)用

這里用了time模塊獲取當前時間,然后生成目標文件夾名稱的一部分。

外界給python傳的系統(tǒng)參數(shù)的***個是文件名。這個文件就相當于C#項目里的Program文件一樣,

里面會包含一個main函數(shù)。雖然這個函數(shù)不一定要命名為main。

 # main of dir copy function  import sys  import time  from code_bk_cpy import *  from code_bk_config import *  #print __name__  def main():      config_path = sys.argv[1]         # check if path of configuration path is empty      if (not config_path):          print 'configuration information is needed'         return -1           config_handler = ConfigHandler(config_path)      config_handler.read_config()      config_list = config_handler.all_lines      if len(config_list) != 3:          print 'configuration information is not correct'         return -1         # set source      sep = ':'     current_datetime = time.localtime(time.time())      root_path = config_list[0].split(sep)[1]      prj_name = config_list[1].split(sep)[1]      dst_path = config_list[2].split(sep)[1]      root_path = (root_path + prj_name).replace('\n','')      prj_folder = prj_name + str(current_datetime.tm_year) + str(current_datetime.tm_mon) + \  str(current_datetime.tm_mday) + str(current_datetime.tm_hour) + \  str(current_datetime.tm_min) + str(current_datetime.tm_sec)      dst_path = (dst_path + '/' + prj_folder + '/').replace('\n','')      copy_handler = CopyHandler(root_path,dst_path)      copy_handler.move_content()      print 'content moved' # start main function  print __name__  if __name__ == "__main__":      main()

上述就是小編為大家分享的Python中怎么備份目錄了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI