#!/usr/bin/python
with open('/proc/meminfo') as fd:
for line in fd:
if line.startswith('MemTotal'):
total = line.split()[1]
continue
if line.startswith('MemFree'):
free = line.split()[1]
break
FreeMem = int(free)/1024.0
TotalMem = int(total)/1024.0
print "FreeMem:"+"%.2f" % FreeMem+'M'
print "TotalMem:"+"%.2f" % TotalMem+'M'
print "FreeMem/TotalMem:"+"%.2f" % ((FreeMem/TotalMem)*100)+'%'
执行结果如下:
说明:
1、with open('/proc/meminfo') as fd: 和 fd=open('/proc/meminfo') 执行的结果一样,都是遍历文件;前者只有在Python 2.6 及后版本才有,后者当打开的文件达到几个G的时候,很消耗内存,而前者没有这个问题。
2、字符串方法:
line.startswith:以什么开头,返回的是布尔值(true/false)
line.split:以空格或者Tab键为分隔,形成一个列表,通过列表索引取值(字符串)
3、“%.2f” 和 "%s" 一样都是格式化字符串输出,前者输出的是保留两位小数点