Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分区磁盘python_Python_Diskspace - Fatal编程技术网

分区磁盘python

分区磁盘python,python,diskspace,Python,Diskspace,我想获取所有本地磁盘及其分区,然后返回所有数据,如“总空间、已用空间和可用空间”。问题是检查分区是否存在,如果不存在错误,则继续结束 在下面的代码中,我的本地磁盘有三个分区:C:\、D:\、F:\。但是,分区G:\不存在,因此先挂起,然后关闭 我正在使用Python3.6和Pycharm社区 def disk_usage(self): disks = ['C','D','F','G'] for i in disks: total, used

我想获取所有本地磁盘及其分区,然后返回所有数据,如“总空间、已用空间和可用空间”。问题是检查分区是否存在,如果不存在错误,则继续结束

在下面的代码中,我的本地磁盘有三个分区:C:\、D:\、F:\。但是,分区G:\不存在,因此先挂起,然后关闭

我正在使用Python3.6和Pycharm社区

def disk_usage(self):
        disks = ['C','D','F','G']
        for i in disks:
            total, used, free = shutil.disk_usage(i+":\\")
            try:
                print("Drive " + i + " as follows:")
                print("==================")
                print("Total: %d GB" % (total // (2**30)))
                print("Used: %d GB" % (used // (2**30)))
                print("Free: %d GB" % (free // (2**30)))
                print("===========")
                print("")
            except GetoptError as err:
               print(err)

提前感谢,

您可以在计算大小之前查看路径是否存在:

p = i+":"+os.sep
if os.path.exists(p):
    total, used, free = shutil.disk_usage(p)
或者捕获
OSError
异常

try:
   total, used, free = shutil.disk_usage(i+":\\")
   ...
catch OSError:
    pass
另外,动态获取驱动器列表也是一个好主意(请参阅)

这可能仍然需要检查是否存在/捕获异常(磁盘不在这样的驱动器中),如上所述