カテゴリ: 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
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New2
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New3
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
New4
Flask
FlaskのURLルールとは?ルーティングの基本と動的URLの作り方を解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.5
Java&Spring記事人気No5
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.6
Java&Spring記事人気No6
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.7
Java&Spring記事人気No7
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.8
Java&Spring記事人気No8
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説