【Python】ファイルとフォルダ(ディレクトリ)を削除する方法まとめ

どーもTakeです。

この記事では、Python で「ファイル」と「フォルダ(ディレクトリ)」を削除する方法について解説します。

 

Pythonで「ファイル」と「フォルダ(ディレクトリ)」する処理自体は簡単ですが、

「ファイル」が存在しなかったり、「フォルダ(ディレクトリ)」内になんらかのファイルが存在する場合、

エラーが発生し正常に処理が行われないことがあります。

 

この記事では、削除処理はもちろんのこと発生しうるエラーへの対処方法についても解説します。

 

この記事でわかること!
  1. ファイルを削除する方法
  2. ワイルドカードで複数のファイルを削除
  3. (ファイル削除時)「指定されたファイルが見つかりません。」と表示された場合
  4. フォルダ(ディレクトリ)を削除する方法
  5. (フォルダ削除時)「ディレクトリが空ではありません。」と表示された場合
  6. (フォルダ削除時)「指定されたファイルが見つかりません。」と表示された場合

 

ファイルを削除する方法

まずは基本的なファイルの削除方法について説明します。

 

下記ソースコードのように、まず「os」モジュールをインポートさせます。

そして「os.remove」メソッドを利用し、変数「filename」で指定したファイルを簡単に削除できます。

 

 

ワイルドカードで複数のファイルを削除

ワイルドカードで複数のファイルを削除する場合、「glob」モジュールを利用します。

 

下記ソースコードのように「os」と「glob」モジュールをインポートさせ、

「glob」モジュールのglobメソッドで「ワイルドカード」のファイル名を指定しそのファイル一覧を取得します。

そのファイル一覧に対して「for文」でループさせ「os.remove」で削除させればOKです。

 

 

「指定されたファイルが見つかりません。」と表示された場合

ファイル削除をする際、削除対象のファイルが存在しない場合

指定されたファイルが見つかりません。」と表示されることがあります。

 

その場合は削除する前にファイルが存在することをチェックする必要があります。

下記ソースコードのように「if os.path.exists(filename):」という一文を加えることで

ファイルが存在する場合のみ削除処理を行うようにできます。

 

 

フォルダ(ディレクトリ)を削除する方法

つぎに基本的なフォルダの削除方法について解説します。

 

これもファイル削除と同様に「os」モジュールをインポートさせ「os」モジュールの「rmdir」メソッドを利用することで

指定したフォルダ名を削除することができます(下記ソースコードのように行います)。

 

 

注意点として、上記はフォルダの中身が空の場合のみ実行可能です。

つまり何らかのファイルがある場合は「ディレクトリが空ではありません」と表示されます。

 

「ディレクトリが空ではありません。」と表示された場合

フォルダを削除する際に、「ディレクトリが空ではありません」と表示された場合は

下記のソースコードのように処理を行います。

まず「shutil」モジュールをインポートさせ、「shutil」モジュールの「rmtree」メソッドを利用することで

フォルダ(ディレクトリ)ごと削除することが可能となります。

 

 

「指定されたファイルが見つかりません。」と表示された場合

フォルダ削除をする際、削除対象のファイルが存在しない場合

ファイル削除時と同様に「指定されたファイルが見つかりません。」と表示されることがあります。

その場合、削除処理を行う前に「フォルダ」が存在することを確認し、存在すれば削除処理を行うようにすればOKです。

 

下記ソースコードのように「if os.path.exists(folderpath):」という一文を加えることで

ファイルが存在する場合のみ削除処理を行うようにできます。

 

最後に

いかがでしたでしょうか?

この記事をもとに Python の「ファイル」と「フォルダ(ディレクトリ)」処理について参考にしていただければ幸いです。

 

ではでは。

プログラミング学習、独学では難しくないですが?
  • プログラミングをどう勉強したらいいのかわからない
  • わかりにくい参考書が多く、自分一人では解決できそうにない
  • 壁にぶつかった時の解決策がわからない
そんな人にはプログラミングスクールtech boost」がおすすめです。

 
 

プログラミングスクールtech boost」の魅力
  1. オーダメイドの自分の目標にあったプランが受講できる!
  2. 現役エンジニアがあなたの学習を全力サポート!
  3. スクール卒業後のキャリアサポートも充実インターン/就職/転職/独立 など
  4. オリジナル Web アプリも作れるようになります!
  5. 近年トレンドの AI や IoT、ブロックチェーンも学習できます!
  6. 受講スタイル(通学かオンライン授業)も選択可能!

 

こんな人におすすめ!

  • 未経験からでもプログラミングをしっかり学びたい!

未経験からでも受講期間中にオリジナルサービス開発レベルまで全力でサポートします。

 

  • プログラミングを一人で学ぶことに限界を感じた!

未経験で一からプログラミング学習するには限界があります。

現役エンジニアがあなたの目標に沿った学習プランを提案してくれるので安心して学習できます。

 

  • 技術力をつけて、IT企業に就職やフリーランス、独立を目指したい!

卒業後のキャリアサポートも充実しているため、未経験からも IT 業界に参入できます。

 

悩んでいるなら、お気軽に無料説明会へ!

現役エンジニアの私がいいますが、IT 業界は圧倒的な人材不足です。

 

スクールは料金が高いからなあ」と悩まれている人もいると思いますが、

IT業界は仕事が有り余っているため、一度学べば速攻で資金回収できます。

 

もしプログラミング学習で悩んでいたり将来的に IT企業、フリーランスなどで働きたいのであれば、

プログラミングスクール「tech boost」へ無料相談だけでもいってみてはいかがでしょうか?

おすすめの記事