異なるディレクトリ内のファイルのPythonのコピー


目的:ファイルサイズとファイルの最終更新日時限り、同じ名前の一貫性がある場合は、別のコンピュータにフォルダに共有のバックアップコンピュータのファイルを達成するために、ファイルがコピーされません


Pythonのバージョン:Python3.7.1

Pythonスクリプト:

日時インポート日付、日時
 輸入OS
 輸入shutilの
 輸入JSON

SOURCE_PATH = os.path.abspath(R&LTと' ソースフォルダ' 
TARGET_PATH = os.path.abspath(R&LTと' ターゲットフォルダ' 
jsonfilepath = os.path.abspath(TARGET_PATH + R " \ log.json " 

デフ負荷():
    (jsonfilepath、オープンと' R ' Fとして):
        データ = json.load(f)は
         、戻りデータ

デフストア(データ):
    (jsonfilepath、オープンと' ワット' FWとして):
        json.dump(データ、FW)

デフMAKEDIR(DIR):
     もし ないos.path.exists(DIR):
        os.makedirs(DIR)

もし __name__ == ' __main__ ' 
    LOGDATA = ロード()
   makeddir(TARGET_PATH)

のIF os.path.exists(SOURCE_PATH): アドレス自体を参照するルートは現在このフォルダトラバースされている #のdirsにはリストされ、そのフォルダの内容が全てです(サブディレクトリを含まない)ディレクトリの名前 #のファイル(サブディレクトリは含まない)、そのフォルダ内のすべてのファイルの内容、またリストである ため、ルート、dirsに、ファイルos.walk(SOURCE_PATH): のためファイルのファイル: SRC_FILE = os.path.join(ルート、ファイル) FSIZE = os.path.getsize(SRC_FILE) fmtime = os.path.getmtime(SRC_FILE) ログ = { ' ファイル':SRC_FILE、' FSIZE ':FSIZE、' fmtime ' :fmtime} isCopy = 0 のためのアイテム:LOGDATA を介してファイルのコピーかどうか IF(項目[ " ファイル"のSRC_FILEで] == 項目[ " FSIZE " ] == FSIZE アイテム[ " fmtime " ] == fmtime)。 iscopy = 1つの ブレーク IF isCopyの== 0: は、日・ファイル・フォルダを介してコピーにコピーされていない ターゲットTARGET_PATH + = " \\ " + date.today()のstrftime(" %mを%% Y D " MAKEDIR(ターゲット) logdata.append(ログ) shutil.copy(SRC_FILE、ターゲット) 店舗(LOGDATA) 印刷コピーファイルが完成します!

 

おすすめ

転載: www.cnblogs.com/yong-sir/p/11655794.html