我正在尝试获取所有文件使用的总字节数。
到目前为止我得到的是以下内容。
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'
有谁知道如何修复此错误并正确计算磁盘上的总字节数?
编辑:在看了这个之后,我想出了以下代码。
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)
但是我现在收到以下错误。 PermissionError:[WinError 5]访问被拒绝:'C:\\ ProgramData \ Microsoft \ Microsoft Antimalware \ Scans \ History \ CacheManager \ MpScanCache-1.bin'
答案 0 :(得分:0)
这可能有所帮助:
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'))
打印:
110,058,100,086 bytes in 449,723 files
或者,如果是权限错误,请使用:
try:
size = os.stat(tgt).st_size
totalsize = totalsize + size
filecnt+=1
except (#Permission Error type...):
continue