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]
这样,您可以捕获从
total
到available
的键值对。我的机器的价值:>>> 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/