檢查目錄下所使用空間
BUBU 因公司需求想要了解現況每個目錄所使用空間狀況,那我是用使 ChatGTP 去產出程式來應用
- 程式碼如下:
import os
import csv
def get_directory_size(directory):
total_size = 0
# 查看目錄所有檔案
for path, dirs, files in os.walk(directory):
for file in files:
filename = os.path.join(path, file)
# 計算每個檔案大小
total_size += os.path.getsize(filename)
# 轉換成 GB 單位並保留小數第一位
size_in_gb = round(total_size / (1024 * 1024 * 1024), 1)
# 如果大於 1024GB 轉換成 TB 單位
if size_in_gb > 1024:
size_in_tb = rountd((size_in_gb / 1024), 1)
return size_in_tb, "TB"
else:
return size_in_gb, "GB"
def save_directory_list(directory, output_file):
# 建立 csv 檔並且編號設定為 utf-8
with open(output_file, 'w', newline='', encoding='utf-8-sig') as file:
writer = csv.writer(file)
writer.writerow(["位置", "使用空間", "單位"])
# 記錄每個目錄路徑
for root, dirs, files in os.walk(directory):
dir_size, unit = get_directory_size(root)
writer.writerow([root, dir_size, unit])
print("該目前使用空間大小清單已匯成 CSV 檔:", output_file)
# 要統計目錄位置
directory_path = '/path/to/your/directory'
# 檔案匯成 CSV 檔,所指定路徑
output_file_path = '/path/to/your/output.csv'
# 資料來源及要保留位置
save_directory_list(directory_path, output_file_path)