私信  •  关注

Dalvenjia

Dalvenjia 最近创建的主题
Dalvenjia 最近回复了
6 年前
回复了 Dalvenjia 创建的主题 » 从python3中的字符串中获取特定文本

只是使用 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