shutil基礎【python】

ファイルをコピーする

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)  # 元のファイルを削除

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です