只是使用
str.split()
和赋值给变量,还有一个默认的第二个参数可以帮助您处理唯一的total/free avail场景
def get_free_memory(ssh_obj, raw=True):
stdin, stdout, stderr = ssh_obj.exec_command('free -h')
mem_stats = stdout.readlines()[1]
if raw:
mem_stats_formatted = " ".join(mem_stats.split())
return mem_stats_formatted
else:
_, total, used, free, shared, cache, avail = mem_stats_formatted.split()
return total, avail # You may format this to a string if you wish
编辑:
我不知道你是怎么处理这些信息的,但对我来说,返回一本包含所有数据的字典并在以后使用它似乎更有用
def get_free_memory(ssh_obj):
stdin, stdout, stderr = ssh_obj.exec_command('free -h')
mem_stats = stdout.readlines()[1]
_, total, used, free, shared, cache, avail = mem_stats_formatted.split()
memory_info = {
'total': total,
'used': used,
'free': free,
'shared': shared,
'cache': cache,
'available': avail
}
return memory_info