【发布时间】:2017-05-04 11:27:48
【问题描述】:
我是 Python 新手,我需要从包含超过 500k 个文件的目录中获取大小。我在互联网上找到了一些应该非常快的代码。不知何故它不起作用,我不知道为什么。 当前输出只是“测试”,所以它甚至没有进入函数。
import time
import os
start_time = time.time()
print('Test')
def getSize(path):
print('Test2')
total = 0
for entry in os.scandir(path):
if entry.is_dir(follow_symlinks=False):
total += getSize(entry.path)
else:
total += entry.stat(follow_symlinks=False).st_size
return total
print (float(getSize('U:\Java'))/1024/1024/1024)
print("--- %s Sekunden ---" % round(time.time() - start_time, 2))
附加问题:有没有更快的方法来使用 python 或其他语言搜索如此大的目录?
【问题讨论】:
-
hm,你真的调用了这个函数吗?就像
getSize('path/to/filder')作为最后一行。 -
我已经试过了。我也试过这个。 stackoverflow.com/a/2485804/7862001the第二个比有os.walk的方法快。