ディレクトリのサイズを測定するはずの Stack Overflow に関する質問からコードを取得しました。
def dirSize(directory):
totalSize = 0
for dirpath, dirnames, filenames in os.walk(directory):
for f in filenames:
fp = os.path.join(dirpath, f)
totalSize += os.path.getsize(fp)
return totalSize
しかし、このディレクトリがある場合:
ls -l
-rw-r--r-- 1 lucas lucas 5120000 Oct 18 17:36 x
lrwxrwxrwx 1 lucas lucas 1 Oct 18 17:34 y -> x
そして、その関数を実行すると、次のようになります。
10240000
シンボリックリンクは、実際の 4KB ではなく、リンク先のファイルのサイズとしてカウントされるようです。どうすればこれを修正できますか?