Tôi muốn nhanh chóng tìm thấy tổng kích thước của bất kỳ thư mục nào bằng cách sử dụng python.rất nhanh chóng nhận được tổng kích thước của thư mục
import os
from os.path import join, getsize, isfile, isdir, splitext
def GetFolderSize(path):
TotalSize = 0
for item in os.walk(path):
for file in item[2]:
try:
TotalSize = TotalSize + getsize(join(item[0], file))
except:
print("error with file: " + join(item[0], file))
return TotalSize
print(float(GetFolderSize("C:\\")) /1024 /1024 /1024)
Đó là tập lệnh đơn giản tôi đã viết để nhận được tổng kích thước của thư mục, mất khoảng 60 giây (+ -5 giây). Bằng cách sử dụng đa xử lý tôi đã nhận nó xuống đến 23 giây trên một máy lõi tứ.
Sử dụng trình khám phá tệp Windows chỉ mất ~ 3 giây (Nhấp chuột phải-> thuộc tính để xem cho chính bạn). Vì vậy, có một cách nhanh hơn để tìm tổng kích thước của một thư mục gần với tốc độ mà các cửa sổ có thể làm điều đó?
Windows 7, python 2.6 (Đã tìm kiếm nhưng phần lớn thời gian mọi người sử dụng một phương pháp rất giống với phương pháp của riêng tôi) Cảm ơn bạn trước.
Mã như được trình bày không hợp lệ.Bạn có thể đăng một ví dụ hoàn chỉnh, tối thiểu mà bạn đã thực sự chạy không? – bignose
Xin lỗi, chỉ có chức năng trước đó, phần còn lại của nó được chỉnh sửa. – user202459
liên quan: [Tính toán kích thước thư mục bằng Python?] (Http://stackoverflow.com/questions/1392413/calculating-a-directory-size- sử dụng-python) – jfs