MENU

Pythonで自動的にフォルダ階層を作成するプログラム

ファイルシステムやプロジェクトを管理していると、変わらないフォルダ構造を自動的に作成したいことがあります。Pythonを使うと、これを超簡単に実現できます。この記事では、フォルダ階層を自動的に作成するPythonスクリプトを共有します。


基本構造

このスクリプトは、配列やディクショナリ構造を基にしてフォルダを作成します。下記のコードでは、フォルダヒエラルキーを指定して、そのフォルダと下位構造を自動的に作成します。

Pythonコード

import os

def create_folder_structure(base_path, structure):
    """
    Creates a folder structure based on the given dictionary.

    Parameters:
        base_path (str): The root directory where the structure should be created.
        structure (dict): A dictionary representing the folder hierarchy.
    """
    for folder, substructure in structure.items():
        folder_path = os.path.join(base_path, folder)
        os.makedirs(folder_path, exist_ok=True)  # Create the folder
        if isinstance(substructure, dict):
            create_folder_structure(folder_path, substructure)  # Recursively create subfolders

# Define the folder structure as a dictionary
nested_structure = {
    "Project": {
        "src": {
            "components": {},
            "utils": {},
        },
        "docs": {},
        "tests": {
            "unit": {},
            "integration": {}
        },
        "build": {}
    }
}

# Specify the base directory where the folders will be created
base_directory = "./output"

# Create the folder structure
create_folder_structure(base_directory, nested_structure)

print(f"Folder structure created successfully in {os.path.abspath(base_directory)}.")

実行結果

上記のスクリプトを実行すると、指定したベースディレクトリの下に以下のような階層構造が作成されます。

output/
└── Project/
    ├── src/
    │   ├── components/
    │   └── utils/
    ├── docs/
    ├── tests/
    │   ├── unit/
    │   └── integration/
    └── build/

拡張アイデア

  • 初期ファイルの作成:
    • 各フォルダに初期的なREADMEファイルを追加したい場合は、os.makedirsの後にコードを追加します。
with open(os.path.join(folder_path, "README.md"), "w") as f:
    f.write(f"# {folder} folder\n")
  • 動的構造の作成:
    • 構造をユーザからの入力で指定したいときは、フォルダ名をリストとしてインプットを受け収けます。

このプログラムを使用すると、プロジェクトやディレクトリの管理がスムーズに行えます。気軽に試してみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次