Pythonでは、shutil
という標準ライブラリを使って、簡単にファイルをコピーすることができます。この記事では、shutil
の関数を使って、複数のファイルを一括でコピーする方法を解説します。
shutilの主要な関数
shutil
には、以下のような主要な関数があります。
copyfile(src, dst)
: ファイル内容のみをコピーし、ファイルのパーミッション、メタデータをコピーしない。copy(src, dst)
: ファイル内容をコピーし、パーミッションもコピーする。copy2(src, dst)
: ファイル内容をコピーし、パーミッションやメタデータ(作成日、更新日)もコピーするように努める。copytree(src, dst)
: ディレクトリを丸ごとコピーする。
ファイルのコピー
以下に、shutil
のcopyfile()
, copy()
, copy2()
の使用例を示します。
import shutil
# copyfileの使用例
shutil.copyfile('sample/src/file1.txt', 'sample/dst/file2.txt')
# copyの使用例
shutil.copy('sample/src/file1.txt', 'sample/dst/file3.txt')
# copy2の使用例
shutil.copy2('sample/src/file1.txt', 'sample/dst/file4.txt')
これらの関数を使うと、sample/src/
ディレクトリにあるfile1.txt
を、sample/dst/
ディレクトリにfile2.txt
, file3.txt
, file4.txt
としてコピーできます。
ディレクトリのコピー
shutil
のcopytree()
を使うと、ディレクトリを丸ごとコピーすることができます。以下に使用例を示します。
import shutil
# copytreeの使用例
shutil.copytree('sample/src/', 'sample/dst/src')
これにより、sample/src/
ディレクトリ全体が、sample/dst/src
としてコピーされます。
以上が、Pythonのshutil
を使ったファイルのコピー方法になります。これらの関数を組み合わせることで、複数のファイルを一括でコピーすることも可能です。具体的なコード例や詳細な説明は、参考リンクをご覧ください。