Python 与 Windows:文件大小计算器差异

Python vs. Windows: File size calculator discrepancy

我最近使用 python 中的 os.walk() 做了一个简单的文件大小计算器,如下所示:

import os

totalSize = 0
for root, dirs, files in os.walk("F:\Japan"):
    for name in files:
        totalSize += os.path.getsize(os.path.join(root, name))
    for name in dirs:
        totalSize += os.path.getsize(os.path.join(root, name))

print(totalSize)

当我执行此代码时,输​​出为 7,731,584,492 字节,但是当我通过右键单击 > 属性分析同一目录时,文件大小为 7,731,486,188 字节。现在,我知道 98,304 字节的差异并不大,但我想知道我的代码是否存在问题或造成这种差异的更根本原因。

谢谢。

在我自己的机器上进行了以下测试:

>>> os.path.getsize(r'F:\My Music\Audio')
98304

我会说 Windows 大小计算不包括描述目录本身的文件占用的 space,而您的代码明确包含(第二个内部 for循环)。您正在检查的特定目录的文件恰好具有该大小。