ファイルをコピーする
import shutil import os # コピーするファイルのパス source_path = r"C:\Users\***\test.xlsx" # 目的のフォルダ out_folder = r"C:\Users\***\out\" # フォルダが存在しない場合、作成する if not os.path.exists(out_folder): os.makedirs(out_folder) # ファイルをコピー out_path = os.path.join(out_folder, os.path.basename(source_path)) shutil.copy(source_path, out_path)
ファイルを移動する
# ファイルを移動 out_path = os.path.join(out_folder, os.path.basename(source_path)) shutil.move(source_path, out_path)
ファイルをコピーする(日付付きのファイル名に変更)
import shutil import os import datetime # コピーするファイルのパス source_path = r"C:\Users\***\test.xlsx" # 目的のフォルダ out_folder = r"C:\Users\***\out\" # 今日の日付を取得してフォーマット(YYYYMMDD) today_str = datetime.datetime.today().strftime("%Y%m%d") # 新しいファイル名 new_filename = f"{today_str}_売上.xlsx" # フォルダが存在しない場合、作成する os.makedirs(out_folder, exist_ok=True) # 新しいファイルのパスを作成 out_path = os.path.join(out_folder, new_filename) # ファイルをコピー(新しい名前で) shutil.copy(source_path, out_path)
フォルダ内の全てのファイルを移動する
(ファイル名がわからない場合orファイル名が固定ではない場合)
import glob import os import shutil # 移動元フォルダ(Excel ファイルがある場所) in_folder = r"C:\Users\***\in" # 移動先フォルダ(ファイルを移動したい場所) out_folder = r"C:\Users\***\out" # 移動先フォルダが存在しない場合は作成 os.makedirs(out_folder, exist_ok=True) # 指定フォルダ内のすべての Excel ファイルを取得 excel_files = glob.glob(os.path.join(in_folder, "*.xlsx")) # ファイルを移動(既存のファイルがあれば上書き) for file in excel_files: dst_file = os.path.join(out_folder, os.path.basename(file)) # 移動先のファイルパス shutil.copy2(file, dst_file) # ファイルをコピー(上書き) os.remove(file) # 元のファイルを削除