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() と完全に同じです。
-
PythonでMySQLのテーブルを丸ごとコピーする方法をわかりやすく解説
Pythonを使えば、MySQLに存在する既存テーブルのコピーを簡単に作成できます。コピーには、カラム(列)やその定義、テーブル内のすべての行データが含まれます。基本構文CREATE TABLE table_name SELECT * FROM existing_tabletable_name:新しく作成するテーブルの名前existing_table:コピー元となる既存テーブルの名前PythonでMySQLのテーブルをコピーする手順MySQLコネクタ(mysql.connector)をインポートするconnect() メソッドでデータベースへの接続を確立するcursor() メソッドでカーソル
-
PythonでPowerPointファイルを自動作成する方法!python-pptxの基本を徹底解説
はじめに誰もが一度はPowerPointのプレゼンテーション資料を作成した経験があるのではないでしょうか。多くの場合、Microsoft PowerPointやGoogleスライドといったGUIツールを使うことが多いでしょう。しかし、ライセンスを持っていなかったり、インターネット環境にアクセスできなかったりすることもあります。あるいは、「プログラマーらしく」コードで自動生成したいと考える方もいるはずです。ご安心ください。そんなときこそPythonの出番です!この記事では、Pythonを使ってPowerPointファイルを作成し、コンテンツを追加する方法を解説します。それでは早速始めましょう!準