2015-10-29 48 views
0

文件有什麼辦法讓Python中的函數,可以步行一個文件夾的文件&的列表清單分成基於「分區」(這將成爲文件夾)每個分區/文件夾中文件的總大小(以兆字節爲單位)?我不知道如何從這個開始或首先做什麼。拆分設置根據大小在MB與Python

+0

是的!從'import os'開始。試試看,如果遇到問題,請告訴我們。 – RobertB

+0

(●▽●)!!甜!我會給它一個大學的嘗試! –

回答

2

假設你想有一個起點,而不是在一個可以解決:

  • 使用os.walk掃描整個目錄樹。如果你只需要掃描一個文件夾,而不是整個樹,可以優化有點不上的Python 3.5犧牲簡單(特別是在Windows上)與新os.scandir功能,會給你免費在Windows stat信息(並使其訪問作爲* NIX系統上的延遲緩存值)。在早期版本的Python中,PyPI上的第三方模塊scandir提供了相同的接口。
  • 如果不使用os.scandir,你會使用os.stat來獲得文件大小
  • 使用collections.defaultdict(set)從文件大小以MB爲單位映射到文件的set這一輪到的大小(或只是處理的文件,當您去,而不是存放在容器中)。另外,排序與sortedkey -ed的大小和使用itertools.groupby(與任何MB粒度你喜歡)到組生成的文件。
+0

這正是我需要的,謝謝! :D你甚至給了我關於使用哪個Python版本的信息,這非常有幫助。 –

相關問題