#フォルダ内のファイル(内包フォルダ含む)の数をひろう

# プログラム1|ライブラリ設定

import pathlib

import os

 

# プログラム2|mainプロシージャ

def main():

Folderpath = r'/Users/kabayon/Documents/ドルオタ活/ハロプロ/ハロプロPhoto'

outputpath = 'FolderCounter.txt'

f = open(outputpath, mode='w')

GetFolderFileNames(Folderpath, 0, f)

 

# プログラム3|フォルダや取得する関数

def GetFolderFileNames(path, kaiso, f):

files = pathlib.Path(path).glob('*')

counter = 0

Folderlist = []

 

# プログラム4|フォルダ内のフォルダやファイルをチェックする

for file in files:

if file.is_file() == True:

counter += 1

else:

Folderlist.append(file)

 

# プログラム5|テキストに書き出す

#現在のパスにテキストで書き出される

foldername = os.path.basename(path)

output = '\t' * kaiso + foldername + '(' + str(counter) + ')\n'

f.write(output)

 

# プログラム6|フォルダ内のサブフォルダを処理する

for Folder in Folderlist:

GetFolderFileNames(Folder, kaiso+1, f)

 

# プログラム7|mainを呼び出す

if __name__ == "__main__":

main()