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

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']
os.mkdir('my_new_folder')

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

このコードでは、まず os.mkdir() で「my_new_folder」という新しいフォルダを作成し、続いてリスト内の各ファイルをループで順番にそのフォルダへコピーしています。

補足:メタデータも保持したい場合はcopy2()が便利

shutil.copy() はファイルの中身とアクセス権限をコピーしますが、作成日時や更新日時などのメタデータまでは保持されません。これらも含めてコピーしたい場合は、shutil.copy2() を使うとよいでしょう。使い方は copy() と完全に同じです。

  1. PythonでMySQLのテーブルを丸ごとコピーする方法をわかりやすく解説

    Pythonを使えば、MySQLに存在する既存テーブルのコピーを簡単に作成できます。コピーには、カラム(列)やその定義、テーブル内のすべての行データが含まれます。基本構文CREATE TABLE table_name SELECT * FROM existing_tabletable_name:新しく作成するテーブルの名前existing_table:コピー元となる既存テーブルの名前PythonでMySQLのテーブルをコピーする手順MySQLコネクタ(mysql.connector)をインポートするconnect() メソッドでデータベースへの接続を確立するcursor() メソッドでカーソル

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

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