Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
如何在Python2.7中查找磁盘空间(不使用os.statvfs)_Python_Python 2.7_Diskspace - Fatal编程技术网

如何在Python2.7中查找磁盘空间(不使用os.statvfs)

如何在Python2.7中查找磁盘空间(不使用os.statvfs),python,python-2.7,diskspace,Python,Python 2.7,Diskspace,因此,os.statvfs是从2.6开始的,而shutil.disk_在3中还没有使用。还剩下什么? 编辑:此时我不想添加新的库,因此psutil也已退出 我将在子流程中运行df并解析输出,有更好的方法吗 操作系统'df-k/' psutil.disk_用法“/” 操作系统'df-k/' psutil.disk_用法“/” 我使用Anaconda2-5.3.1-Windows-x86_64对其进行了测试,psutil已安装: import psutil obj_Disk = psutil.di

因此,os.statvfs是从2.6开始的,而shutil.disk_在3中还没有使用。还剩下什么? 编辑:此时我不想添加新的库,因此psutil也已退出

我将在子流程中运行df并解析输出,有更好的方法吗

操作系统'df-k/' psutil.disk_用法“/” 操作系统'df-k/' psutil.disk_用法“/”
我使用Anaconda2-5.3.1-Windows-x86_64对其进行了测试,psutil已安装:

import psutil

obj_Disk = psutil.disk_usage('/')

print (obj_Disk.total / (1024.0 ** 3),"GB")
print (obj_Disk.used / (1024.0 ** 3),"GB")
print (obj_Disk.free / (1024.0 ** 3),"GB")
print (obj_Disk.percent)
参考:


我使用Anaconda2-5.3.1-Windows-x86_64对其进行了测试,psutil已安装:

import psutil

obj_Disk = psutil.disk_usage('/')

print (obj_Disk.total / (1024.0 ** 3),"GB")
print (obj_Disk.used / (1024.0 ** 3),"GB")
print (obj_Disk.free / (1024.0 ** 3),"GB")
print (obj_Disk.percent)
参考:

df主要用于人的消费,有时仅用于在shell脚本中编写脚本。用户空间命令的输出有时可能很难解析,因为它们主要用于人类消费,尽管您可以将一些参数传递给某些用户空间命令以获得机器可解析的输出。使用Python等语言时,操作系统支持大多数常用的系统功能,但也可以使用psutil库等高级包装器。如果您经常这样做,我强烈推荐psutil

如果您不想引入第三方库,我建议使用/sys/class/block特殊文件系统或/sys/block(如果您还想支持遗留系统),或者您可以解析/proc/partitions。/sys、/dev和/proc特殊文件系统是设计用于脚本的稳定内核接口,您可以通过读取/写入这些特殊文件与这些特殊文件进行交互,大多数界面都很容易解析,因为它们被设计用于shell脚本中。

df主要用于人类使用,有时仅用于shell脚本中的脚本。用户空间命令的输出有时可能很难解析,因为它们主要用于人类消费,尽管您可以将一些参数传递给某些用户空间命令以获得机器可解析的输出。使用Python等语言时,操作系统支持大多数常用的系统功能,但也可以使用psutil库等高级包装器。如果您经常这样做,我强烈推荐psutil


如果您不想引入第三方库,我建议使用/sys/class/block特殊文件系统或/sys/block(如果您还想支持遗留系统),或者您可以解析/proc/partitions。/sys、/dev和/proc特殊文件系统是设计用于脚本的稳定内核接口,您可以通过读取/写入这些特殊文件与这些特殊文件进行交互,那里的大多数接口都很容易解析,因为它们设计用于shell脚本。

您是否关心代码在2.7和3之间的兼容性?os.statvfs已弃用,但仍在python 2.7中工作,所以为什么不使用它呢?@GPhilo通常是的,在这一点上,如果您不关心,就使用弃用的函数。它在很久以前就在3+中被替换了,但是既然您使用的是2.7,并且您不想依赖库,这是您最好的选择。您是否关心代码在2.7和3之间的兼容性?os.statvfs已被弃用,但仍然在python 2.7中工作,所以为什么不使用它呢?@GPhilo通常是的,在这一点上,如果您不关心,只需使用不推荐使用的函数。它在很久以前就在3+中被替换了,但是由于您使用的是2.7,并且您不想依赖库,这是您的最佳选择。欢迎使用堆栈溢出。谢谢你的回答。虽然这些命令可以回答问题,但提供有关此代码回答问题的原因和/或方式的附加上下文可以提高其长期价值。。尊敬的。你能补充一些解释吗?例如,df,-k代表什么?我不知道如何使用os命令获得可用空间。谢谢。我忘了提到我不想添加新的库。我目前所做的或多或少是欢迎您1使用堆栈溢出。谢谢你的回答。虽然这些命令可以回答问题,但提供有关此代码回答问题的原因和/或方式的附加上下文可以提高其长期价值。。尊敬的。你能补充一些解释吗?例如,df,-k代表什么?我不知道如何使用os命令获得可用空间。谢谢。我忘了提到我不想添加新的库。我现在做的或多或少是你1的好答案。我还推荐psutil,1它有很好的文档记录。2跨平台支撑。3支持Python 2.7和3.4+谢谢。忘了提到我也不想添加库:回答得好。我还推荐psutil,1它有很好的文档记录。2跨平台支撑。3支持Python 2.7和3.4+谢谢。忘了提到我也不想添加库: