Pythonのより高度なファイル、フォルダ操作ができるshutilモジュール その3:ファイル・フォルダの移動・名前の変更 shutil.move

スポンサーリンク

前回のおさらい

過去5回に渡って、osモジュールとshutilモジュールを比較するため、ファイル・フォルダ操作に関して解説をしています。

前回はshutilモジュールのうち、フォルダをコピーする方法 shutil.copytreeを解説しました。

Pythonのより高度なファイル、フォルダ操作ができるshutilモジュール その2:フォルダのコピー shutil.copytree
前回のおさらい過去4回に渡って、osモジュールとshutilモジュールを比較するため、ファイル・フォルダ操作に関して解説をしています。前回はshutilモジュールのうち、ファイルをコピーする方法 shutil.copyfi...

今回はファイルを移動する方法と名前を変更する方法を解説していきます。

前回、色々とコピーしたのでフォルダ構造が結構複雑になっています。

ちょっと複雑すぎるので、folder3とfolder4を削除して、分かりやすくしておきましょう。

Pythonプログラムはos_module_test内に新しいものを作成し、shutilモジュールをインポートしておきます。

import shutil

ではでは始めていきましょう。

スポンサーリンク

ファイル、フォルダの移動:shutil.move(“移動前”,”移動後”)

ファイルの移動

shutilモジュールを使って、ファイルやフォルダを移動するにはshutil.move(“移動前”,”移動後”)を使います。

まずはdocument3.txtをfolder2に移動してみましょう。

shutil.move("document3.txt", "./folder2")

特に問題なく、ファイルを移動させることができました。

フォルダの移動

次に同じコマンドでフォルダも移動できるか試してみましょう。

folder2をfolder1に移動させてみます。

これによりフォルダの中にファイルがあっても移動できるかもついでに確認してみましょう。

shutil.move("folder2", "./folder1")

folder1の中にfolder2を移動することができました。

ということはフォルダ内にファイルがあっても、shutil.moveでは問題なく移動できるということになります。

スポンサーリンク

ファイル名・フォルダ名の変更

前にosモジュールのos.renameを紹介した際、os.renameではファイルやフォルダ名の変更ができる上、ファイルやフォルダの移動もできました。

Pythonでファイル操作 〜新規作成、追記、読み取り〜
前回のおさらい前回からosモジュールとshutilモジュールを比較するため、ファイル・フォルダ操作に関して解説をしています。前回はファイル・フォルダの名前を取得したり、フォルダを新規作成する方法を解説しました。...

実はshutil.moveはファイル・フォルダの移動だけではなく、逆にファイル・フォルダの名前の変更をすることができます。

まずはdocument1.txtをdocument5.txtに変更してみましょう。

shutil.move("document1.txt","document5.txt")

変更することができました。

次にフォルダ名も変更できるか試してみましょう。

フォルダに何かファイルが入っていてもフォルダ名を変更できるか試すため、folder2をfolder3に変更してみます。

shutil.move("folder2","folder3")

こちらも問題なく変更することができ、フォルダに何か入っていたとしてもshutil.moveでフォルダ名を変更できることが分かりました。

今回はshutil.moveを使ってファイル・フォルダの移動とファイル名・フォルダ名の変更をしてみました。

ほぼ同じことがosモジュールのos.renameでも可能です。

しかしos.renameではフォルダ内に何か入っている時、そのフォルダの名前は変更できますが、移動はできません。

それに対しshutil.moveではフォルダ内に何か入っているいないにかかわらず、そのフォルダの移動や名前の変更をすることができます。

同じ様なことができるにしてもちょっとずつできることが違ういい例だと思います。

次回はshutilモジュールを使ってフォルダの削除を解説していきます。

Pythonのより高度なファイル、フォルダ操作ができるshutilモジュール その4:フォルダの削除 shutil.rmtree
前回のおさらい過去6回に渡って、osモジュールとshutilモジュールを比較するため、ファイル・フォルダ操作に関して解説をしています。前回はファイル・フォルダの移動、名前の変更をするshutil.moveを解説しました。...

ということで今回はこんな感じで。

コメント

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