このスクリプトは、指定したフォルダ内のすべてのファイルとディレクトリを再帰的にリストアップし、その構造をテキストファイルに出力します。特定のディレクトリ(例:node_modules
、.git
など)をスキップして、不要なファイルを出力から除外することができます。
具体的な使用例として、初めて見たレポジトリの内容をざっと理解したいときに、このプログラムを使い、ChatGPTにテキストで送信して解説してもらうなどが挙げられます。
- 指定したフォルダ内のすべてのファイルとディレクトリを再帰的にリストアップ
node_modules
、.git
、.next
などの特定のディレクトリをスキップ- わかりやすいツリー形式でディレクトリ構造を出力
-
リポジトリをクローン:
git clone https://github.com/neromehiro/list_files cd list_files
-
Pythonがインストールされていることを確認: このスクリプトはPython 3.xが必要です。Pythonは公式サイトからダウンロードできます。
-
スクリプトを実行:
python list_files.py
-
フォルダのパスを入力: プロンプトが表示されたら、対象フォルダの絶対パスまたは相対パスを入力します。例:
フォルダのパスを入力してください: /Users/neromehiro/hiro folder/my_Works/programing/aimsales-website
-
出力を確認: ディレクトリ構造はスクリプトと同じディレクトリにある
folder_structure.txt
に書き込まれます。
出力は以下のようになります:
aimsales-website
│
├── pnpm-lock.yaml
├── jsconfig.json
├── tailwind.config.js
├── LICENSE
├── next.config.js
├── next-env.d.ts
├── README.md
├── .gitignore
├── package-lock.json
├── package.json
├── tsconfig.json
├── postcss.config.js
└── /types
├── brand.ts
└── blog.ts
追加でスキップしたいディレクトリがある場合、list_files.py
スクリプト内の SKIP_DIRS
セットにディレクトリ名を追加します:
SKIP_DIRS = {
'node_modules', '.next', '.git', '.idea', '.vscode', '__pycache__', 'dist', 'build', 'coverage', 'logs', 'new_skip_directory'
}
出力ファイル名を変更するには、list_files.py
スクリプト内の output_file
変数を変更します:
output_file = "your_custom_output_file.txt"
コントリビュートは歓迎します!プルリクエストをお待ちしております。
- リポジトリをフォーク:
- 新しいブランチを作成:
git checkout -b feature/your-feature-name
- 変更をコミット:
git commit -m "Add your commit message here"
- ブランチにプッシュ:
git push origin feature/your-feature-name
- プルリクエストを作成:
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。
質問や提案がある場合は、Issueを作成するか、[email protected] までご連絡ください。