pythonでファイルを一括コピーする方法【特定の一部のファイルだけも・フォルダ内全てのファイル】 | ウルトラフリーダム

pythonでファイルを一括コピーする方法【特定の一部のファイルだけも・フォルダ内全てのファイル】

本サイトでは記事内に広告が含まれています。

この記事では「pythonでファイルを一括コピーする方法【特定の一部のファイルだけも・フォルダ内全てのファイル】」について解説していきます。

ポイントとしては

・os.listdirでフォルダ内のすべてファイル取得(globでもできます)

shutil.copyでファイルのコピー

です。基礎的な処理のため、これらのコードは考えるというよりも、自然言語のように覚える&慣れるのがおすすめです。

それではいきます!

スポンサーリンク

pythonでファイルを一括コピーする方法【特定の一部のファイルだけも・フォルダ内全てのファイル】

それでは以下でpythonでファイルを一括コピーする方法【特定の一部のファイルだけも・フォルダ内全てのファイル】方法を確認します。

最後に一括コピーが終了したかわかるように、プリントで「コピーが完了しました」などのメッセージを入れておくとわかりやすいですね。

 

import os
import shutil

# コピー元のディレクトリパス
src_dir = '/path/to/source/directory'
# コピー先のディレクトリパス
dst_dir = '/path/to/destination/directory'

# コピー元ディレクトリ内の全てのファイルを操作
for filename in os.listdir(src_dir):
    # ファイルのフルパスを作成
    src_file_path = os.path.join(src_dir, filename)
    
    # ディレクトリを除外(ファイルのみ対象)
    if os.path.isfile(src_file_path):
        # ファイルをコピー先ディレクトリにコピー
        shutil.copy(src_file_path, dst_dir)

print("コピーが完了しました。")

フォルダ内のフォルダも一気にコピーする場合

なお、ディレクトリ内にファイルだけでなく、ディレクトリもあり、これら全てをコピーしたい場合は、shutil.copytreeを使いましょう。

 

import shutil

# コピー元のディレクトリパス
src_dir = '/path/to/source/directory'
# コピー先のディレクトリパス
dst_dir = '/path/to/destination/directory'

# ディレクトリ全体(サブディレクトリやファイルも含む)をコピー
shutil.copytree(src_dir, dst_dir)

print("コピーが完了しました。")

特定の一部のファイルのみをコピーする方法【list】

  
import os
import shutil

# コピー元のディレクトリパス
src_dir = '/path/to/source/directory'
# コピー先のディレクトリパス
dst_dir = '/path/to/destination/directory'
# コピーしたいファイルのリスト
files_to_copy = ['file1.txt', 'file2.txt', 'file3.txt']

# コピーしたいファイルを一つずつ処理
for filename in files_to_copy:
    # ファイルのフルパスを作成
    src_file_path = os.path.join(src_dir, filename)
    
    # ファイルが存在するか確認
    if os.path.isfile(src_file_path):
        # ファイルをコピー先ディレクトリにコピー
        shutil.copy(src_file_path, dst_dir)
    else:
        print(f"ファイル {src_file_path} は存在しません。")

print("コピーが完了しました。")

コメント

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