代码之家  ›  专栏  ›  技术社区  ›  Amine Messaoudi

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

  •  0
  • Amine Messaoudi  · 技术社区  · 6 年前

    我使用以下函数使用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”

    如何在没有管理员权限的情况下计算目录的大小?

    0 回复  |  直到 6 年前
        1
  •  2
  •   Adonis pensilhijau    6 年前

    如果你想找一个驱动器的用途,我建议你使用 shutil :

    import shutil
    shutil.disk_usage("C:")
    

    产量:

    usage(total=498439548928, used=204051705856, free=294387843072)
    

    请注意,与GUI中报告的值略有差异,因为没有考虑驱动器上的保留空间,因此它可能不适合您的需要。