カテゴリ: Python 更新日: 2025/12/13

Pythonでディレクトリ操作を完全解説!作成・削除・一覧取得の基本

Pythonでディレクトリの作成・削除・一覧取得(os / pathlib の活用)
Pythonでディレクトリの作成・削除・一覧取得(os / pathlib の活用)

先生と生徒の会話形式で理解しよう

生徒

「Pythonでフォルダを作ったり、消したり、一覧を確認したりする方法はありますか?」

先生

「はい、Pythonではosモジュールやpathlibモジュールを使って、簡単にディレクトリの作成・削除・一覧取得ができます。」

生徒

「osとpathlibの違いは何ですか?」

先生

osは昔からある方法で、少し手続きが必要ですが強力です。pathlibはPython3から追加された新しい方法で、オブジェクト指向の書き方で直感的に操作できます。」

生徒

「なるほど、じゃあ両方の使い方を見たいです!」

先生

「では順番に見ていきましょう!」

1. osモジュールでディレクトリを操作する方法

1. osモジュールでディレクトリを操作する方法
1. osモジュールでディレクトリを操作する方法

osモジュールは、Pythonでディレクトリやファイルを操作するための基本的なモジュールです。まずはディレクトリの作成から見てみましょう。


import os

# ディレクトリの作成
os.mkdir("sample_dir")
print("ディレクトリ 'sample_dir' を作成しました。")

このコードでは、カレントディレクトリ(今Pythonを実行している場所)にsample_dirという名前のフォルダを作成しています。


# ディレクトリの削除
os.rmdir("sample_dir")
print("ディレクトリ 'sample_dir' を削除しました。")

os.rmdir()は中身が空のフォルダしか削除できません。もし中身にファイルがある場合は削除できないので注意してください。


# ディレクトリの一覧取得
print(os.listdir("."))

os.listdir()は指定したディレクトリの中にあるファイルやフォルダをリストとして取得します。"."は「今のフォルダ」を意味します。

2. pathlibモジュールでディレクトリを操作する方法

2. pathlibモジュールでディレクトリを操作する方法
2. pathlibモジュールでディレクトリを操作する方法

pathlibはPython3から使える、より直感的なディレクトリ操作の方法です。オブジェクト指向で書けるので初心者にもわかりやすいです。


from pathlib import Path

# ディレクトリの作成
path = Path("sample_dir")
path.mkdir()
print("ディレクトリ 'sample_dir' を作成しました。")

Pathオブジェクトを作って、mkdir()メソッドでディレクトリを作成します。


# ディレクトリの削除
path.rmdir()
print("ディレクトリ 'sample_dir' を削除しました。")

rmdir()も空のフォルダしか削除できません。osと同じルールです。


# ディレクトリの一覧取得
current_dir = Path(".")
for item in current_dir.iterdir():
    print(item)

iterdir()メソッドでフォルダ内のファイルやディレクトリを順番に取り出すことができます。

3. フォルダ操作の便利なポイント

3. フォルダ操作の便利なポイント
3. フォルダ操作の便利なポイント

Pythonでフォルダを操作する際に覚えておくと便利なポイントをまとめます。

  • ディレクトリがすでに存在するかを確認するには、os.path.exists()Path.exists()を使います。
  • フォルダの中身が空かどうかを確認するには、os.listdir()Path.iterdir()で確認できます。
  • 複雑なパス操作(親フォルダや子フォルダの結合)はos.path.join()Path / "フォルダ名"で行うと安全です。

# ディレクトリが存在するか確認
if not path.exists():
    path.mkdir()
    print("新しいディレクトリを作成しました。")
else:
    print("ディレクトリはすでに存在します。")

このように事前にチェックしておくと、プログラムがエラーで止まるのを防げます。

4. osとpathlibのどちらを使うべきか

4. osとpathlibのどちらを使うべきか
4. osとpathlibのどちらを使うべきか

両方使えますが、最近のPythonではpathlibが推奨されています。コードが読みやすく、直感的で、WindowsやMac/LinuxなどOSに依存しない書き方ができます。

ただし、古いコードやライブラリではosを使っている場合が多いので、状況に応じて使い分けると良いでしょう。

5. まとめて使ったサンプル

5. まとめて使ったサンプル
5. まとめて使ったサンプル

最後に、ディレクトリ作成・一覧取得・削除をまとめて実行するサンプルです。


from pathlib import Path

# フォルダ作成
folder = Path("my_folder")
folder.mkdir(exist_ok=True)

# 中身一覧取得
for item in folder.iterdir():
    print(item)

# フォルダ削除
folder.rmdir()
print("処理が完了しました。")

exist_ok=Trueを使うと、すでにフォルダがあってもエラーになりません。

カテゴリの一覧へ
新着記事
New1
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
New2
Flask
Flaskアプリのセキュリティ対策まとめ!初心者向けに基本をやさしく解説
New3
Flask
FlaskでCookieを安全に使う方法!HttpOnly・Secureフラグの使い方を徹底解説
New4
Flask
Flaskで外部APIと連携する方法!requestsライブラリの使い方を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.2
Java&Spring記事人気No2
Python
Pythonでトランザクション処理を実装する方法を完全解説!commit・rollbackで安全なSQL操作
No.3
Java&Spring記事人気No3
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.4
Java&Spring記事人気No4
Flask
Flaskとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.5
Java&Spring記事人気No5
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.6
Java&Spring記事人気No6
Flask
Flask‑RESTfulでREST APIを構築する手順まとめ!初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
Flask
Flaskで開発中にデータベースを初期化する方法!初心者でもわかる便利なTips
No.8
Java&Spring記事人気No8
Flask
FlaskのSQLAlchemyでフィルタリング検索!filter, filter_byの使い方完全ガイド