使用 <code>os.path.getsize(path)</code> 可以获取到文件的大小,但是如果path是一个文件夹而不是文件的话,虽然也有数值返回,但是并不是这个文件夹真正的大小。至少windows上是这样的。Linux可能没问题(毕竟一切皆文件)。不如既然可以获取到文件的大小,那么遍历以便所有文件,文件夹大小也就有了。
使用 <code>os.walk(path)</code> 就可以遍历目录下的所有目录和文件,包括子目录:
上面的例子中,第一个for循环是遍历文件夹的,我们只要文件,也就是只要第二个for循环,把其中每一项加起来
把里层的for循环写成迭代器,再用sum来替代 <code>full_size += file_size</code> :
再把最外面的for循环也剥掉,就成了下面的一行代码了。
一行代码:
完美,完全看不懂了。
本文转自骑士救兵51CTO博客,原文链接:http://blog.51cto.com/steed/2052274,如需转载请自行联系原作者