【Python】定型フォルダ構成を自動作成するスクリプト|プロジェクト初期化に便利

【Python】定型フォルダ構成を自動作成するスクリプト|プロジェクト初期化に便利 Python

開発や制作プロジェクトを始めるたびに、同じようなフォルダ構成を手作業で作っていませんか?Pythonを使えば、定型のディレクトリ構成を一発で自動生成でき、初期設定の時短・標準化に役立ちます。

この記事では、テンプレート的なフォルダ構成をPythonスクリプトで自動作成する方法を紹介します。

想定するフォルダ構成

例えば、以下のようなディレクトリ構成を自動で作成したいとします:

MyProject/
├── docs/
├── src/
│   ├── components/
│   └── utils/
├── tests/
├── data/
└── README.md(空ファイル)

フォルダ作成スクリプト

import os

# 作成するベースディレクトリ
base_dir = "MyProject"

# 作成したいサブフォルダのリスト
folders = [
    "docs",
    "src",
    "src/components",
    "src/utils",
    "tests",
    "data"
]

# フォルダの作成
for folder in folders:
    path = os.path.join(base_dir, folder)
    os.makedirs(path, exist_ok=True)
    print(f"作成: {path}")

# 空のREADME.mdファイルを作成
readme_path = os.path.join(base_dir, "README.md")
with open(readme_path, "w", encoding="utf-8") as f:
    f.write("# プロジェクト概要\n")
print(f"作成: {readme_path}")

別名のプロジェクト名を引数から渡す

コマンドライン引数で任意のプロジェクト名を受け取れるようにすれば、より汎用的になります。

import sys

if len(sys.argv) < 2:
    print("使い方: python create_project.py プロジェクト名")
    sys.exit(1)

base_dir = sys.argv[1]

テンプレートファイルをコピーする(応用)

ベースとなるテンプレートファイルを、あらかじめ別のフォルダに用意しておき、それをコピーする方法もあります。

import shutil

template_path = "template_files/.gitignore"
shutil.copy(template_path, os.path.join(base_dir, ".gitignore"))

まとめ

Pythonを使えば、定型的なプロジェクトフォルダ構成を自動で作成でき、開発の初期セットアップを高速化できます。チーム内で構成を統一することで、属人化の防止や効率的な運用にもつながります。

複数パターンのテンプレートに対応させたり、初期ファイルに内容を自動で書き込むよう拡張することで、さらに便利なプロジェクト生成ツールを構築できます。