概要
再帰関数を使ってプログラムの実行フォルダ配下の相対パス+フォルダ名を取得する。
例外処理は権限のないフォルダにアクセスエラーの回避。
6行目でソートをしているのはos.listdir関数が順番を保証しないため。
14,15行は呼び出し例
イメージ
作成環境
Ubuntu 18.04
Python 3.7.5
ソースリスト
import os
def path_find(path,result):
try:
nextfolders = [os.path.join(path, f) for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]
nextfolders.sort()
except:
return result
result += nextfolders
for p in nextfolders:
result = path_find(p,result)
return result
for folder in path_find("./",[]):
print(folder)