需要在python中使用cmd从文件夹中进行字节计数

需要在python中使用cmd从文件夹中进行字节计数,python,cmd,size,directory,Python,Cmd,Size,Directory,我有一个程序,检查文件夹大小并将它们全部相加。我已经包括了我正在使用的函数。我应该提到,win32com.client无法处理某些文件夹大小(150gb+) os.stat只给出文件的大小,是否有文件夹(和子文件夹)的等效值 干杯关于globbing你如何浏览目录中的所有文件?我以前使用过os.walk,速度非常慢。数据库大约是15TB。然后你应该问:我如何加速get\u tree\u size()。尝试在一次调用中返回条目是否为文件(而不是目录)及其大小(应该快几倍)。令人遗憾的是,win32

我有一个程序,检查文件夹大小并将它们全部相加。我已经包括了我正在使用的函数。我应该提到,win32com.client无法处理某些文件夹大小(150gb+)

os.stat只给出文件的大小,是否有文件夹(和子文件夹)的等效值


干杯

关于
glob
bing你如何浏览目录中的所有文件?我以前使用过os.walk,速度非常慢。数据库大约是15TB。然后你应该问:我如何加速
get\u tree\u size()
。尝试在一次调用中返回条目是否为文件(而不是目录)及其大小(应该快几倍)。令人遗憾的是,win32com.client在2分钟内覆盖了一个稍小的文件夹。get_tree_size()已用了8分钟。是否使用此选项?注意:如果你的目录可能嵌套得很深,那么把它重写成非递归的。我确实这么做了,但速度非常慢。这不是一个切实可行的解决办法。DOS的字节计数非常快,我觉得必须有一种方法在python中提取字节计数。(很抱歉有任何愚蠢的评论,我不是程序员)
# Calculate Folder Size
# ---------------------

def calc_folder_size(dir):
    fso = com.Dispatch("Scripting.FileSystemObject")
    folder = fso.GetFolder(dir)
    MB=1024*1024.0
    try:
        return (folder.Size/MB)    
    except:
        statinfo = os.stat(dir)
        return (statinfo.st_size/MB)
import os

def get_tree_size(path):
    """Return total size of all files in directory tree at path."""
    return sum(os.path.getsize(os.path.join(root, filename))
               for root, dirs, files in os.walk(path)
               for filename in files)