1

ディレクトリのサイズを測定するはずの 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 ではなく、リンク先のファイルのサイズとしてカウントされるようです。どうすればこれを修正できますか?

4

2 に答える 2