フォルダのサイズを取得する

 『フォルダ/ファイルの情報を扱う』で説明しても良かったのですが、関数を使うためちょっと長くなると感じ別で準備しました。

 GetFolderSize関数を作る

 ちょっとした応用です。DirectoryInfoのGetFilesとGetDirectoriesメゾットを使ってFolderのサイズを返す関数を作ってみましょう。

import System
from System.IO import DirectoryInfo

def GetFolderSize(dirInfo):
  size = 0L
  for fi in dirInfo.GetFiles():
    size += fi.Length

  for di in dirInfo.GetDirectories():
    size += GetFolderSize(di)

  return size

何も難しいところはないですね。使い方は次のようにします。

import System
from System.IO import DirectoryInfo

def GetFolderSize( dirInfo):
  size = 0L
  for fi in dirInfo.GetFiles():
    size += fi.Length

  for di in dirInfo.GetDirectories():
    size += GetFolderSize(di)

  return size

#GetFolderSizeの使用例

target = DirectoryInfo("c:\\windows")
FolderSize = GetFolderSize(target)
print target.Name + "フォルダのサイズは"+str(FolderSize)+"バイトです。"

raw_input()

出力画面
 windowsフォルダのサイズは11746058737バイトです。
 簡単ですね。