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

【初心者向け】Pythonでファイルをコピーする方法を徹底解説

Pythonでファイルをコピーする基本の方法

Pythonでファイルやフォルダをコピーするには、標準ライブラリのshutilモジュールを使用します。shutilモジュールには、単一のファイルだけでなく、フォルダ全体をまとめてコピーするための関数も用意されており、追加インストールなしですぐに利用できます。

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

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

ポイントは以下の通りです。

  • コピー先にファイル名を指定した場合は、その名前がコピー後の新しいファイル名として使用される
  • コピー先にフォルダのパスを指定した場合は、元のファイル名のままそのフォルダ内にコピーされる
  • この関数は、コピーされたファイルのパスを文字列として返す
>>> import shutil
>>> # 同じフォルダ内に別名でコピーする例
>>> shutil.copy('original.txt', 'duplicate.txt')
'/home/username/duplicate.txt'
>>> # 別のフォルダへコピーする例
>>> shutil.copy('original.txt', 'my_folder/duplicate.txt')
'/home/username/my_folder/duplicate.txt'

メタデータごとコピーしたい場合:shutil.copy2()

shutil.copy() はファイルの内容のみをコピーします。作成日時や更新日時などのメタデータまで含めてコピーしたい場合は、shutil.copy2() を使いましょう。使い方は copy() とまったく同じですが、バックアップ用途などではこちらが推奨されます。

フォルダ全体をコピーする場合:shutil.copytree()

フォルダ(ディレクトリ)の中身を丸ごとコピーしたいときは、shutil.copytree(コピー元, コピー先) を使用します。指定したフォルダ内のすべてのファイルとサブフォルダが再帰的にコピーされ、フォルダ構造がそのまま再現されます。

>>> import shutil
>>> shutil.copytree('src_folder', 'dst_folder')
'dst_folder'

このように、shutilモジュールを使えば、ファイル単位からフォルダ単位まで、さまざまなコピー操作をシンプルなコードで実現できます。

  1. Pythonでファイルに書き込むには?writeモードでのファイル操作を解説

    Pythonでファイルにデータを書き込むには、open()関数の第2引数に書き込みモード w を指定します。ここでは、基本的な使い方と、より安全な書き方を紹介します。基本の書き方:open()とclose()を使う最もシンプルな方法は、w モードでファイルを開き、write() メソッドで文字列を書き込んだ後、close() でファイルを閉じることです。f = open(my_file.txt, w) f.write(Hello World) f.close()このコードを実行すると、my_file.txt が書き込みモードで開かれ、ファイルの内容が「Hello World」で上書きされます。

  2. Pythonでテキストファイルの重複行を削除する方法

    Pythonでは、ファイル操作の機能を使うことで、テキストファイルや関数内に含まれる重複した行を簡単に削除できます。ここでは、例として「bar.txt」というテキストファイルを使用し、重複行を取り除いた結果を「foo.txt」という新しいファイルに保存する方法を解説します。なお、処理対象となるテキストファイルは、Pythonスクリプトと同じディレクトリ(フォルダ)に配置しておく必要があります。異なる場所にある場合は、正しく動作しないので注意してください。元データ(bar.txt)今回使用するbar.txtの内容は以下の通りです。A cow is an animal. A cow is an a