Pythonでファイルを別のフォルダにコピーする方法|shutilモジュールの使い方を解説
Pythonでは標準ライブラリのshutilモジュールを使うことで、ファイルはもちろん、フォルダ全体も簡単にコピーできます。複数のファイルを一度にコピーしたい場合は、コピー対象となるファイル名をリストにまとめておき、forループで順番に処理するのが基本的なやり方です。
shutil.copy()の基本的な使い方
shutil.copy(source, destination)を呼び出すと、sourceパスにあるファイルが、destinationパスで指定したフォルダへコピーされます。sourceとdestinationはどちらも文字列で指定します。
- destinationにフォルダのパスを指定した場合:元のファイル名のままそのフォルダ内にコピーされます。
- destinationにファイル名を指定した場合:その名前がコピー後の新しいファイル名として使われます。
また、この関数はコピーされたファイルのパスを文字列として返すため、戻り値を受け取ってログ表示などに活用することもできます。
使用例:複数のファイルを一括コピーする
import shutil, os
files = ['file1.txt', 'file2.txt', 'file3.txt']
for f in files:
shutil.copy(f, 'dest_folder')このコードでは、カレントディレクトリにあるfile1.txt〜file3.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()とまったく同じです。
-
Pythonでフォルダ内のすべてのExcelファイルを一括マージする方法
Pythonを使えば、フォルダ内に散らばった複数のExcelファイルをわずか数行のコードで1つのファイルにまとめることができます。本記事では、標準ライブラリのglobモジュールと、データ分析に欠かせないpandasを組み合わせて、Excelファイルを一括結合する手順を詳しく解説します。 前提条件:必要なパッケージのインストール まず、Excelファイルを読み書きするために以下のパッケージが必要です。まだインストールしていない場合は、pipコマンドで導入しておきましょう。 pip install openpyxl xlrd openpyxl:xlsx形式(Excel 2007以降)の読み書きに
-
PythonでPowerPointファイルを自動作成する方法!python-pptxの基本を徹底解説
はじめに誰もが一度はPowerPointのプレゼンテーション資料を作成した経験があるのではないでしょうか。多くの場合、Microsoft PowerPointやGoogleスライドといったGUIツールを使うことが多いでしょう。しかし、ライセンスを持っていなかったり、インターネット環境にアクセスできなかったりすることもあります。あるいは、「プログラマーらしく」コードで自動生成したいと考える方もいるはずです。ご安心ください。そんなときこそPythonの出番です!この記事では、Pythonを使ってPowerPointファイルを作成し、コンテンツを追加する方法を解説します。それでは早速始めましょう!準