ディレクトリ構成を取得
プロジェクト配下の全ファイルを確認するために作成しました。
ディレクトリごとにタブ区切りにしているため、出力したテキストファイルをエクセルにコピー&ペーストすることで列を分けられるようにしました。
空のディレクトリを含まない場合(すべての拡張子)
Python
import glob
import re
from pathlib import Path
# ホームディレクトリを取得
HOME = Path('~').expanduser()
SAVE_PATH = str(HOME) + '/Desktop/01_file_path.txt'
print('保存場所:' + SAVE_PATH)
# 現在のディレクトリ配下を取得
files = sorted(glob.glob("**/*.*", recursive=True)) # 空のディレクトリを含まない(すべての拡張子)
print('ファイルパス:\n================================================================')
f = open(SAVE_PATH, 'w', encoding='UTF-8')
for file in files:
# /を/+タブに変換
file = file.replace('/', '/\t')
f.write(file)
f.write("\n")
print(file)
f.close()
ツリー構成(例)
├ test1/
│ ├ a.txt
│ ├ b.sql
│ └ test1_1/
│ └ c.md
├ test2/
│ ├ d.txt
│ └ e.py
└ test3/ (空)
実行結果
タブ区切りで出力
test1/ a.txt
test1/ b.sqlt
test1/ test1_1/ c.md
test2/ d.txt
test2/ e.py
空のディレクトリを含む場合
11行目を以下に変更する
glob("**/*.*")
を glob("**/*")
に変える
files = sorted(glob.glob("**/*", recursive=True)) # 空のディレクトリを含む
ツリー構成
上記と同じ
実行結果
タブ区切りで出力
test1
test1/ a.txt
test1/ b.sqlt
test1/ test1_1
test1/ test1_1/ c.md
test2
test2/ d.txt
test2/ e.py
test3
まとめ
lsコマンド等で取得して、手動で整形していたのをプログラム化しました。
作業時間が10分の1になりました。