python 计算 c 驱动器大小时访问被拒绝

标签 python directory filesize access-denied

我正在使用以下函数来使用 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 中报告的值略有差异,因此它可能不适合您的需求。

关于python 计算 c 驱动器大小时访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55005952/

相关文章:

if-statement - Makefile Windows -- 如果存在则删除目录

c - 你如何确定C中文件的大小?

python - 机器学习模型持久性选项

python - 为什么我无法使用 networkx 和请求获取某个网站 url 的 IP 地址?

python - 在基类的类方法中获取继承类名

c++ - 停止我的应用程序的两个实例同时写入同一个文件夹

Python - 正则表达式在方法中的返回值与它本身的返回值不同

python - 如何使用 Python3 在 Linux 中比较两个不同日期的文件大小

delphi - 如何在delphi xe2上以跨平台方式获取文件大小

python - 重新排序矩阵元素以反射(reflect)朴素python中的列和行聚类