如何获取特定的字符串

如何获取特定的字符串

def get_system_info():
      command = "free -h"
      return subprocess.check_output(command, shell=True).strip()
@bot.message_handler(commands=['si'])
def send_echo(message):
    bot.send_message(message.chat.id, get_system_info())


结果:

              total        used        free      shared  buff/cache   available
Mem:            62G         49G        5.3G         69M        7.5G         12G
Swap:          1.0G        5.8M        1.0G


我需要的结果:

Memory,
total: 62G
used: 49G
free: 5.3G
shared: 69M
buff/cache: 7.5G
available: 12G


我试图通过分割线来做到这一点,但没有成功

最佳答案

您可以这样进行:

# decode used to convert bytes into string, then split it around whitespaces/newlines
output = get_system_info().decode('utf-8').split()
d = {}
for i in range(0, 6):
    d[text[i]] = text[i + 7]


这样,您可以捕获从totalavailable的键值对。我的机器的价值:

>>> d
{'total': '15G', 'used': '6.9G', 'free': '486M', 'shared': '842M', 'buff/cache': '8.2G', 'available': '7.6G'}


我相信您可以从这里开始以所需的任何格式打印此词典。

关于python-3.x - 如何获取特定的字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59744650/

10-10 21:31