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
循环)。您正在检查的特定目录的文件恰好具有该大小。
我最近使用 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
循环)。您正在检查的特定目录的文件恰好具有该大小。