如何在計算python跨平臺中的所有文件時快速計算大目錄的大小,這是我當前的代碼,但是這是非常緩慢的大文件編號(100000):使用python(跨平臺)快速計算目錄和子目錄中的所有文件
class filecounter:
def count(self, scandir):
global filescount
global totalsize
if not scandir[-1] == '/' or '\\':
scandir = scandir + '/'
try:
for item in os.listdir(scandir):
if os.path.isdir(scandir + item):
filecounter().count(scandir + item)
else:
totalsize = totalsize + os.path.getsize(scandir +item)
filescount = filescount + 1
except WindowsError, IOError:
pass
全球需要
爲什麼不使用'os.walk()'來代替? – 2013-02-15 21:05:53
'如果不是scandir [-1] =='/'或'\\''不符合你的想法。試試'如果scandir [-1]不在('/','\\')'中。 – 2013-02-15 21:08:03
P.S.如果你正確編碼了這個全局變量,那麼這個全局變量是不需要的 - 讓函數以元組或列表的形式返回這兩個值。 – 2013-02-15 21:09:38