フォルダのサイズを取得する
『フォルダ/ファイルの情報を扱う』で説明しても良かったのですが、関数を使うためちょっと長くなると感じ別で準備しました。
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バイトです。
簡単ですね。