首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -获取文件使用的字节总数。

Python -获取文件使用的字节总数。
EN

Stack Overflow用户
提问于 2013-03-25 23:06:48
回答 1查看 2.6K关注 0票数 0

我试图获取所有文件使用的总字节数。

到目前为止,我得到的是以下内容。

代码语言:javascript
复制
 def getSize(self):
    totalsize = 0
    size = 0
    for root, dirs, files in os.walk(r'C:\\'):
        for files in files:
            size = os.stat(files).st_size
    totalsize = totalsize + size

但是,在运行此操作时,以下错误将弹出FileNotFoundError: WinError 2系统无法找到指定的文件:“hiberfil.sys”

有人知道我如何修正这个错误并正确计算磁盘上的总字节吗?

编辑:再看一遍之后,我想出了下面的代码。

代码语言:javascript
复制
def getSize():
    print("Getting total system bytes")
    data = 0
    for root, dirs, files in os.walk(r'C:\\'):
        for name in files:
            data = data + getsize(join(root, name))
    print("Total system bytes", data)

但是,现在我得到了以下错误。Antimalware\Scans\History\CacheManager\MpScanCache-1.bin‘:PermissionError: WinError 5访问被拒绝:'C:\ProgramData\Microsoft\Microsoft WinError

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-25 23:26:12

这可能有助于:

代码语言:javascript
复制
import os
import os.path

def getSize(path):
    totalsize,filecnt = 0,0
    for root, dirs, files in os.walk(path): 
        for file in files:
            tgt=os.path.join(root,file)
            if os.path.exists(tgt): 
                size = os.stat(tgt).st_size
                totalsize = totalsize + size
                filecnt+=1
    return totalsize,filecnt

print '{:,} bytes in {:,} files'.format(*getSize('/Users/droid'))

指纹:

代码语言:javascript
复制
110,058,100,086 bytes in 449,723 files

或者,如果是权限错误,请使用以下命令:

代码语言:javascript
复制
            try:
                size = os.stat(tgt).st_size
                totalsize = totalsize + size
                filecnt+=1
            except (#Permission Error type...): 
                continue
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15626498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档