Pythonでファイルをフォルダー間でコピーする

スポンサーリンク

Pythonのshutilモジュールを使い、ファイルをフォルダー間でコピーしてみます。

shutilモジュールはPythonの標準ライブラリなので、事前にインストールする必要はありません。

そもそもshutilモジュールとは何なのか。ファイルやファルダに対する操作ができるものです。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。

■ファイルをコピーする準備を行う

shutilモジュールを使い、ファイルをフォルダー間でコピーを行ってきますが、まずファイルをコピーする準備を行います。

今回はコピーするファイルを.txt形式のファイル(test01.txt)とフォルダを用意しました。

.txt形式のファイルが保存されているパスは「C:\Users\user\Original」となります。

次に、コピーされたファイルを移動させるファルダを用意します。

コピーされたファイルが収納されるフォルダのパスは「C:\Users\user\Copy-test」となります。

これでファイルをコピーする準備が整いました。

■shutilモジュールのshutil.copyfileを使用しファイルをコピーする

ファイルをコピーする準備が完了しましたので、次はコードを書いていきます。

■コード

import shutil

original = r"C:\Users\user\Original\test01.txt"
target = r"C:\Users\user\Copy-test\test01.txt"

shutil.copyfile(original, target)

shutilモジュールをインポートし、originalにコピーするファイルとフォルダのパスを記述します。そしてtargetにコピーされたファイルと、ファイルを収納するフォルダのパスを記述します。エラーが発生しないようにパスの先頭には「r」を記述します。

最後にshutil.copyfile()で、originalからtargetへコピーするために、「(original, target)」と記述します。

■実行

今回のスクリプトを「copy-test01.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、print関数での結果の出力などは記述していないので、何も表示されません。表示されないので、ファイルがコピーされたか確認してみます。

確認してみると、フォルダにコピーされたファイルが収納されていることが確認できました。

新しい名前でファイルをコピーする

今回は、コピーするファイル名前は「test01」というもので、コピーされた後の名前も「test01」でしたが、新しい名前を付けてファイルをコピーすることもできます。

■コード

import shutil

original = r"C:\Users\user\Original\test01.txt"
target = r"C:\Users\user\Copy-test\new_test.txt"

shutil.copyfile(original, target)

上記のように、「new_test.txt」というコピーするファイルとは異なるファイル名を記述してスクリプトを実行してみます。

実行してみると、新しい名前のファイルでコピーがされているのが確認できました。

コメント

タイトルとURLをコピーしました