python 计算 C 驱动器大小时访问被拒绝
python access denied while computing c drive size
我正在使用以下函数计算目录的大小 Python
def get_path_size(path):
total_size = 0
for path, dirs, files in os.walk(path):
for f in files:
fp = os.path.join(path, f)
total_size += os.path.getsize(fp)
return total_size
我已经用很多目录测试了它,但是当我尝试计算 C 盘的大小时它不起作用
print(get_path_size("C:/"))
OSError: [WinError 1920] 系统无法访问文件: 'C:/Users\asus\AppData\Local\Microsoft\WindowsApps\MicrosoftEdge.exe'
如何在没有管理员权限的情况下计算目录的大小?
在特定情况下,您要查找驱动器的用途,我建议您使用 shutil
:
import shutil
shutil.disk_usage("C:")
产量:
usage(total=498439548928, used=204051705856, free=294387843072)
请注意,与 GUI 中报告的值存在细微差异,因为未考虑驱动器上的保留 space,因此它可能不适合您的需要。
我正在使用以下函数计算目录的大小 Python
def get_path_size(path):
total_size = 0
for path, dirs, files in os.walk(path):
for f in files:
fp = os.path.join(path, f)
total_size += os.path.getsize(fp)
return total_size
我已经用很多目录测试了它,但是当我尝试计算 C 盘的大小时它不起作用
print(get_path_size("C:/"))
OSError: [WinError 1920] 系统无法访问文件: 'C:/Users\asus\AppData\Local\Microsoft\WindowsApps\MicrosoftEdge.exe'
如何在没有管理员权限的情况下计算目录的大小?
在特定情况下,您要查找驱动器的用途,我建议您使用 shutil
:
import shutil
shutil.disk_usage("C:")
产量:
usage(total=498439548928, used=204051705856, free=294387843072)
请注意,与 GUI 中报告的值存在细微差异,因为未考虑驱动器上的保留 space,因此它可能不适合您的需要。