Pythonでディレクトリを作成・削除・一覧表示する方法!初心者向けにosとpathlibを使った使い方を解説
生徒
「Pythonでフォルダを作ったり、削除したりってできますか?」
先生
「はい、Pythonではosモジュールやpathlibモジュールを使って、フォルダ(ディレクトリ)の作成や削除、一覧の取得などが簡単にできますよ。」
生徒
「フォルダって、よくパソコンで作るアレですよね?Pythonでできるって便利そう!」
先生
「そうです。初心者の方でもわかるように、やさしく順番に説明していきますね。」
1. ディレクトリ(フォルダ)とは何か?
まず、ディレクトリとはパソコン上の「フォルダ」のことです。ファイルを整理して入れておく箱のようなもので、「写真」「書類」などの名前が付いたフォルダを見たことがあると思います。
Pythonではこのフォルダのことを「ディレクトリ」と呼び、作ったり消したり中身を見たりすることができます。
2. osモジュールでディレクトリを作成する方法
osモジュールを使えば、簡単にフォルダを作成できます。まずはos.mkdir()という関数を使ってみましょう。
import os
os.mkdir("test_folder")
このコードを実行すると、現在の場所(カレントディレクトリ)に「test_folder」という名前のフォルダが作られます。
3. pathlibモジュールを使ったディレクトリ作成
Python3.4以降ではpathlibモジュールも使えます。より直感的に書けるのが特徴です。
from pathlib import Path
Path("test_folder2").mkdir()
Pathクラスはファイルやフォルダの操作を分かりやすくしてくれます。初心者にもおすすめの書き方です。
4. ディレクトリがすでにある場合の対処法
すでに同じ名前のフォルダがあると、エラーになります。そのため、作る前に存在するかを確認するのが安全です。
folder = Path("sample_folder")
if not folder.exists():
folder.mkdir()
exists()は「そのフォルダが存在しているか」を確認する関数です。無ければmkdir()で作成します。
5. ディレクトリを削除する方法(osとpathlib)
フォルダを削除するには、os.rmdir()またはPath.rmdir()を使います。ただし、フォルダの中にファイルや他のフォルダがあると削除できません。
import os
os.rmdir("test_folder")
from pathlib import Path
Path("test_folder2").rmdir()
空のフォルダだけが対象です。中に何か入っている場合は先に削除しておく必要があります。
6. ディレクトリの中身(一覧)を取得する方法
フォルダの中にどんなファイルやフォルダがあるか調べるには、os.listdir()やPath.iterdir()を使います。
import os
files = os.listdir("sample_folder")
print(files)
from pathlib import Path
p = Path("sample_folder")
for item in p.iterdir():
print(item)
このようにすると、指定したフォルダの中にあるファイル名やフォルダ名が取得できます。
7. フォルダの有無や種類を確認する方法
Pathを使えば、ファイルなのかフォルダなのかを簡単に見分けることができます。
p = Path("sample_folder")
if p.exists():
if p.is_dir():
print("これはフォルダです。")
elif p.is_file():
print("これはファイルです。")
is_dir()はフォルダかどうか、is_file()はファイルかどうかを判定します。
8. 応用:フォルダがなければ作る処理
よくあるのが、「フォルダが無ければ作成しておく」という処理です。これでエラーを防ぎながらプログラムを安全に動かせます。
output_dir = Path("output")
if not output_dir.exists():
output_dir.mkdir()
print("フォルダを作成しました。")
else:
print("すでにフォルダは存在しています。")
このように書くことで、Python初心者でも安全なディレクトリ操作ができるようになります。
まとめ
Pythonで学ぶディレクトリ操作の基本と考え方
この記事では、Pythonを使ってディレクトリを作成、削除、一覧表示する方法について、osモジュールとpathlibモジュールの両方を使いながら丁寧に解説してきました。 ディレクトリとは、普段パソコンで何気なく使っているフォルダのことであり、ファイルを整理するための重要な仕組みです。 Pythonでは、このディレクトリ操作をプログラムから安全かつ効率的に行うことができます。
osモジュールは昔から使われている標準的な方法で、シンプルな関数呼び出しでフォルダを作成したり削除したりできます。 一方でpathlibモジュールは、Pathクラスを使って直感的にディレクトリやファイルを扱える点が特徴です。 文字列でパスを管理するよりも読みやすく、初心者にとって理解しやすい書き方ができるため、最近のPython学習ではpathlibがよく使われています。
ディレクトリ作成と存在確認の重要性
ディレクトリを作成する際に特に重要なのが、「すでに存在しているかどうか」を確認することです。 同じ名前のフォルダが存在する状態で作成処理を行うと、エラーが発生してプログラムが止まってしまいます。 そのため、existsメソッドを使って事前に確認し、無い場合だけ作成するという考え方がとても大切です。
この考え方はディレクトリ操作だけでなく、ファイル操作全般にも共通しています。 Pythonで安全なプログラムを書くためには、「いきなり処理をする」のではなく、「状態を確認してから処理をする」習慣を身につけることが重要です。
削除や一覧取得で注意すべきポイント
ディレクトリの削除では、中身が空でなければ削除できないという点に注意が必要です。 これは誤って大切なファイルを消してしまうことを防ぐための仕組みでもあります。 また、ディレクトリの中身を一覧表示する処理は、ファイル管理プログラムや自動処理を作る際によく使われます。 os.listdirやPath.iterdirを使うことで、フォルダの中身を簡単に確認できるようになります。
まとめとしてのサンプルプログラム
from pathlib import Path
work_dir = Path("work_folder")
if not work_dir.exists():
work_dir.mkdir()
print("作業用フォルダを作成しました。")
for item in work_dir.iterdir():
print(item)
if work_dir.exists() and work_dir.is_dir():
work_dir.rmdir()
print("作業用フォルダを削除しました。")
このサンプルでは、フォルダの有無を確認して作成し、一覧を取得し、最後に削除するという一連の流れをまとめています。 実際の開発現場でも、このようなディレクトリ操作は非常によく使われるため、何度も書いて慣れておくことが大切です。
生徒
「Pythonでフォルダを作ったり消したりできるだけじゃなくて、 事前に存在を確認するのが大事だって分かりました」
先生
「とても良い気づきですね。 ディレクトリ操作は便利ですが、確認を怠るとエラーや事故につながります」
生徒
「pathlibを使うと、フォルダやファイルをオブジェクトとして扱えるのも分かりやすかったです」
先生
「その感覚を大切にしてください。 今回学んだディレクトリ操作は、Pythonでの自動処理やツール作成の基礎になりますよ」