pythonでフォルダ内のファイルをコピーする

※当サイトはアフィリエイト広告を利用しています

データ分析

pythonを利用してファイルのコピーをとる

日付を比較して新しいものだけコピー

データ元とコピー先のファイルの更新日時を比較して、データ元のファイルが新しいファイルだけをコピー先にコピーするコード

import pandas as pd
import datetime
import glob
import os
import shutil
from tqdm import tqdm


####フォルダ設定 ####
origin_path =  'C://01_データ元/'
copy_path = 'C://02_コピー先/'

####カウンタのリセット ####
copy = 0
stay = 0
error = 0

print('****************処理開始*******************')
print(datetime.datetime.now())

#フォルダ内のファイルパスの取得
File_path_orign = glob.glob(origin_path + '*')


for file_pass in tqdm(File_path_orign):
    #元データの更新日時取得
    origin_time = datetime.datetime.fromtimestamp(os.path.getmtime(file_pass))
    
    #コピー先データの更新日時取得
    file_name = file_pass[len(origin_path ):] #余計なフォルダパス部分を削除
    file_target_path = data_path + file_name
    
    try:
        target_time = datetime.datetime.fromtimestamp(os.path.getmtime(file_target_path))
        time_delta = (target_time - origin_time)
        if time_delta.days < 0 :
            shutil.copy2(file_pass, data_path)
            copy += 1
        else:
            stay += 1
    except:
        shutil.copy2(file_pass, data_path)
        error += 1
        print('コピーエラー:'file_pass)


print('****************ファイルコピー*******************')
print('コピー:' + str(copy) + ' ステイ:' + str(stay) + ' 新規追加:' + str(error))
print(datetime.datetime.now())

「os.path.getmtime(file_pass)」にて対象ファイルの更新日時を取得する。
取得対象の日時に合わせてget***timeを変更する

更新日時: mtime
作成日時: ctime(Windows)、birthtime(macOSなど一部のUNIX:)
最終アクセス日時:atime

この記事を読んだ人がよく見ています

タイトルとURLをコピーしました