Skip to main content

檢查目錄下所使用空間

  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)


參考相關站台