Pythonでファイル・フォルダを削除・作成する方法

Pythonでファイルやフォルダを削除・作成したり、移動・コピー・実行したりする方法を紹介しています。

今回紹介する方法はosモジュールとshutilモジュールを使います。Pythonをインストールすれば使えるので改めてインストールする必要はありません。

この内容を理解するにあたり、ルートディレクトリ、カレントディレクトリ、相対パス、絶対パスのを知っておく必要があります。

関連記事

今回は「ルートディレクトリ・カレントディレクトリ・ファイルパス」の説明をします。 もし、「ディレクトリ」という言葉が分からない場合は下の記事をご覧ください。 [sitecard subtitle=関連記事 url="https[…]

関連記事

パソコンを使ったことがあるのなら一度は聞いたことがあるとは追うこれらの言葉「ファイル・フォルダ・ディレクトリ」の違いを説明していきたいと思います。 本棚に本がたくさん入っているようにフォルダ(ディレクトリ)の中にファイルが入っている[…]

osモジュール

フォルダ作成(os.makedirs)

  • osモジュールをインポート
  • 引数にフォルダパスを渡す

この「blogフォルダ」の中に「flolder3」を作ります。以下のプログラムを実行しても何も表示されませんが、ちゃんと新規フォルダが作られています。

python-osの公式サイト

もちろんこの関数でファイルを作ることはできません。以下のようにファイルパスを指定してもフォルダ名と認識されます。

テキストファイルの作成方法はopen関数を使います。以下の記事にopen関数の使い方をまとめています。

ファイル削除(os.remove)

  • osモジュールをインポート
  • 引数はファイルパスを渡す
  • フォルダは削除できない
  • フォルダのパスを渡すと「PermissionError」

「blogフォルダ」内の「sample.txt」を削除します。この関数で削除できるのはファイルだけです。フォルダの削除は「shutil.rmtree」を使います。

空のフォルダを削除(os.rmdir)

  • osモジュールをインポート
  • 引数はフォルダルパスを渡す
  • 空のフォルダのみ削除できる
  • 空でないフォルダパスを渡すと「OSError」

「blogフォルダ」内の「folder2」を削除します。このファイルは空なので削除できますが、「folder1」は空でないので削除できません

shutilモジュール

フォルダ削除(shutil.rmtree)

  • shutilモジュールをインポート
  • 引数に削除したいフォルダパスを渡す
  • フォルダの中身ごと消す

「blogフォルダ」内の「folder1」を削除します。このフォルダの中には3つのファイルがありますがそれごと削除されます。

削除後のフォルダの中身は以下のようになります。

まとめ

  • フォルダの作成:os.makedir関数
  • 空フォルダの削除:os.rmdir関数
  • フォルダの中身ごと削除:shutil.rmtree関数
  • フォルダとディレクトリは同じ意味です。

関連記事

プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]