python फ़ोल्डर के कुल आकार को बहुत जल्दी प्राप्त करना


1 Answers

यदि आप एक्सप्लोरर के समान गति चाहते हैं, तो Pythoncom उदाहरण का उपयोग करके समान कार्यक्षमता तक पहुंचने के लिए विंडोज स्क्रिप्टिंग का उपयोग क्यों न करें

import win32com.client as com

folderPath = r"D:\Software\Downloads"
fso = com.Dispatch("Scripting.FileSystemObject")
folder = fso.GetFolder(folderPath)
MB = 1024 * 1024.0
print("%.2f MB" % (folder.Size / MB))

यह एक्सप्लोरर के समान काम करेगा, आप http://msdn.microsoft.com/en-us/library/bstcxhf7(VS.85).aspx पर स्क्रिप्टिंग रनटाइम के बारे में अधिक पढ़ सकते हैं।

python optimization folders

मैं पाइथन का उपयोग कर किसी भी फ़ोल्डर के कुल आकार को तुरंत खोजना चाहता हूं।

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)

फ़ोल्डर की कुल आकार प्राप्त करने के लिए मैंने लिखा यह सरल स्क्रिप्ट है, इसमें लगभग 60 सेकंड (+ -5 सेकंड) लग गए। मल्टीप्रोसेसिंग का उपयोग करके मुझे क्वाड कोर मशीन पर 23 सेकंड तक पहुंच गया।

विंडोज फ़ाइल एक्सप्लोरर का उपयोग करने में केवल ~ 3 सेकंड लगते हैं (राइट क्लिक-> गुण खुद को देखने के लिए)। तो विंडोज़ की गति के करीब एक फ़ोल्डर के कुल आकार को खोजने का एक तेज़ तरीका है?

विंडोज 7, पायथन 2.6 (खोजों की खोज की गई लेकिन अधिकांश समय लोगों ने स्वयं के लिए एक बहुत ही समान विधि का उपयोग किया) अग्रिम धन्यवाद।



Related