在Python中从字符串中提取负载平均浮点值的最佳方法是什么?

Dav*_*idM 1 python string floating-point

如果我有一个字符串,如

"17:31:51上升134天,11:26,1位用户,平均负载:0.22,0.15,0.10"

什么是最终提取x3负载平均值的最佳方法?我写了一个正则表达式,但这是最有效/最快的方法吗?

>>> s = "17:31:51 up 134 days, 11:26,  1 user,  load average: 0.22, 0.15, 0.10"
>>> print re.findall(r"([0-9]\.\d+)", s)
['0.22', '0.15', '0.10']
Run Code Online (Sandbox Code Playgroud)

Ada*_*eld 5

这应该工作:

# s is the string to parse
loadavg = [float(x) for x in s.rsplit('load average: ', 1)[1].split(', ')]
Run Code Online (Sandbox Code Playgroud)


Jai*_*ano 5

您在/proc/loadavg特殊文件中具有相同的信息,因此您可以:

>>> open("/proc/loadavg").readline().split(" ")[:3]
Run Code Online (Sandbox Code Playgroud)