如果將有少量文件,遞歸函數應該很容易通過所有文件並添加大小,但是如果文件很多,並且很多文件我真的意味着大量文件。從python中獲取文件夾和所有文件大小的最佳方法是什麼?
6
A
回答
10
你的意思是這樣的?
import os
for path, dirs, files in os.walk(root):
for f in files:
print path, f, os.path.getsize(os.path.join(path, f))
5
除遞歸調用stat外,沒有其他方法可以計算大小。這與Python無關;操作系統不提供其他方式。
算法不一定是遞歸的;你可以使用os.walk。
可能有兩個例外,使其更高效:
- 如果所有你想要的文件來衡量填滿一個分區,並且該分區沒有其他的文件,那麼你可以看看的磁盤使用情況分區。
- 如果您可以連續監視所有文件或負責自己創建所有文件,則可以生成增量磁盤使用情況。
1
在Python食譜(O'Reilly)中有這個問題的食譜。您可以在線閱讀用一個例子完整的解決方案:
http://safari.oreilly.com/0596001673/pythoncook-CHP-4-SECT-24
或在這裏:
http://books.google.com/books?id=yhfdQgq8JF4C&pg=PA152&dq=du+command+in+python
0
如果你是一個POSIX系統,提供杜,你應該能夠使用pexpect.run
或subprocess
執行du <path to folder>
以獲取文件夾和子文件的大小。請記住,它會輸出一個字符串,列出每個文件並彙總每個文件夾。 (查看du的手冊頁,看看你能做些什麼來限制它)。
相關問題
- 1. C - 獲取文件大小的最快方法是什麼?
- 2. 在PHP中讀取大文件的最佳方法是什麼?
- 3. 什麼是使用c複製文件夾和所有子文件夾和文件的最佳方式#
- 4. 從配置文件獲取值的最佳方式是什麼?
- 5. 什麼是從目錄獲取csv文件的最佳方式?
- 6. 什麼是觀看多個文件夾以獲取大量傳入文件的最佳方法
- 7. 什麼是從Spring中的屬性文件中獲取值的最佳方法?
- 8. 什麼是獲得pst文件大小的最佳途徑
- 9. 什麼是獲取文件大小的好方法?
- 10. 構建文件夾緊湊樹的最佳方法是什麼?
- 11. 獲取文件夾大小
- 12. 從Doxygen提取vim語法文件和ctags的最佳方法是什麼?
- 13. 爲XWiki增加catalina.sh文件中堆大小的最佳方法是什麼?
- 14. 從文件名中檢索ID的最佳方法是什麼?
- 15. 什麼是從文本/數據文件中讀取數據的最佳方法
- 16. 什麼是讀取文件夾子目錄和這些子目錄中的文件的最佳方法?
- 17. Swf文件:開發swf文件的最佳方法是什麼?
- 18. 在js文件中加載JavaScript文件。檢查是否加載所有文件的最佳方法是什麼?
- 19. 獲取目錄中的所有文件夾和子文件夾
- 20. 將大文件讀取和分割爲多個小文件的最佳方法
- 21. 獲取不存在的文件夾名稱的最佳方式是什麼?
- 22. Alfresco webscript獲取所有文件和文件夾的大小列表
- 23. 什麼是使用PHP獲取packages.gz文件中所有軟件包的名稱和版本的最佳方式?
- 24. 獲取jqGrid使用MVC所需的最小文件是什麼?
- 25. 在Delphi中讀取大文件的最快方法是什麼?
- 26. 在Ruby中讀取大文件的最快方法是什麼?
- 27. php loop文件夾獲取文件名和文件大小
- 28. 什麼是讀取/解析XML文件的最佳方法
- 29. 什麼是在OnInit()中獲取控件值的最佳方法?
- 30. 最小化矢量svg文件大小的最佳方法