使用 <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,如需轉載請自行聯系原作者