Python_計算文件夾大小


計算文件夾大小

 

os.listdir('dirname')    列出指定目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式打印

os.path.join(path1[, path2[, ...]])  將多個路徑組合后返回,第一個絕對路徑之前的參數將被忽略

os.path.getsize(path) 返回path的大小

os.path.isdir(path)  如果path是一個存在的目錄,則返回True。否則返回False
遞歸版:
 1 import os
 2 
 3 
 4 def get_size(path):
 5     ret = os.listdir(path)
 6     print(ret)
 7     total = 0
 8 
 9     for name in ret:
10         abs_path = os.path.join(path, name)
11 
12         if os.path.isdir(abs_path):
13             total += get_size(abs_path)
14         else:
15             total += os.path.get.size(abs_path)
16 
17     return total
18 
19 path = r'D:\S12\py筆記'
20 ret = get_size(path)
21 print(ret)

 

 

  遞歸什么時候結束?  返回值的時候結束遞歸.

 

堆棧

  棧是一種計算機存儲數據的思想:先進后出

 

壓棧思想:

 1 import os
 2 
 3 
 4 path = r'D:\S12\py筆記\day19'
 5 dir_lst = [path]
 6 
 7 while dir_list:
 8     path = dir_lst.pop()
 9     ret = os.listdir(path)
10 
11     for name in ret:
12         abs_path = os.path.join(path, name)
13     
14         if os.path.isdir(abs_path):
15             dir_lst.append(abs_path)
16         else:
17             total += os.path.getsize(abs_path)
18 
19 print(total)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM