Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでファイルを別のフォルダにコピーする方法|shutilモジュールの使い方を解説

Pythonでは標準ライブラリのshutilモジュールを使うことで、ファイルはもちろん、フォルダ全体も簡単にコピーできます。複数のファイルを一度にコピーしたい場合は、コピー対象となるファイル名をリストにまとめておき、forループで順番に処理するのが基本的なやり方です。

shutil.copy()の基本的な使い方

shutil.copy(source, destination)を呼び出すと、sourceパスにあるファイルが、destinationパスで指定したフォルダへコピーされます。sourcedestinationはどちらも文字列で指定します。

  • destinationにフォルダのパスを指定した場合:元のファイル名のままそのフォルダ内にコピーされます。
  • destinationにファイル名を指定した場合:その名前がコピー後の新しいファイル名として使われます。

また、この関数はコピーされたファイルのパスを文字列として返すため、戻り値を受け取ってログ表示などに活用することもできます。

使用例:複数のファイルを一括コピーする

import shutil, os

files = ['file1.txt', 'file2.txt', 'file3.txt']

for f in files:
    shutil.copy(f, 'dest_folder')

このコードでは、カレントディレクトリにあるfile1.txtfile3.txtの3つのファイルが、dest_folderフォルダへ順番にコピーされます。

補足:コピー先フォルダが存在しない場合

コピー先のフォルダがまだ存在しない場合は、事前に作成しておく必要があります。os.makedirs()exist_ok=Trueを指定すれば、フォルダが既に存在していてもエラーにならず安全です。

os.makedirs('dest_folder', exist_ok=True)

shutil.copy()とshutil.copy2()の違い

shutil.copy()はファイルの中身とアクセス権限をコピーしますが、更新日時などのメタデータまでは引き継ぎません。作成日時や更新日時も含めてコピーしたい場合は、shutil.copy2()を使用するとよいでしょう。使い方はshutil.copy()とまったく同じです。

  1. Pythonでフォルダ内のすべてのExcelファイルを一括マージする方法

    Pythonを使えば、フォルダ内に散らばった複数のExcelファイルをわずか数行のコードで1つのファイルにまとめることができます。本記事では、標準ライブラリのglobモジュールと、データ分析に欠かせないpandasを組み合わせて、Excelファイルを一括結合する手順を詳しく解説します。 前提条件:必要なパッケージのインストール まず、Excelファイルを読み書きするために以下のパッケージが必要です。まだインストールしていない場合は、pipコマンドで導入しておきましょう。 pip install openpyxl xlrd openpyxl:xlsx形式(Excel 2007以降)の読み書きに

  2. PythonでPowerPointファイルを自動作成する方法!python-pptxの基本を徹底解説

    はじめに誰もが一度はPowerPointのプレゼンテーション資料を作成した経験があるのではないでしょうか。多くの場合、Microsoft PowerPointやGoogleスライドといったGUIツールを使うことが多いでしょう。しかし、ライセンスを持っていなかったり、インターネット環境にアクセスできなかったりすることもあります。あるいは、「プログラマーらしく」コードで自動生成したいと考える方もいるはずです。ご安心ください。そんなときこそPythonの出番です!この記事では、Pythonを使ってPowerPointファイルを作成し、コンテンツを追加する方法を解説します。それでは早速始めましょう!準