Просто используйте str.split()
и присвойте переменным, также второй аргумент по умолчанию может помочь вам с единственным сценарием полной / бесплатной пользы
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