我把代码从一个本应衡量一个目录的大小对堆栈溢出问题:递归目录大小包括符号链接两次
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,因为它们实际上是。我怎样才能解决这个问题?
[使用Python计算目录大小?](http://stackoverflow.com/questions/1392413/calculating-a-directory-size-using-python) – vish
虽然接受的答案没有解决他的问题'stat'版本应该 –
@vish这就是我在原始问题 –