如何从字符串中提取Python中的负载平均浮点值最佳方法?

2024-04-29 08:21:32 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一根像

“17:31:51上行134天,11:26,1个用户,平均负载:0.22,0.15,0.10”

在最后提取x3负载平均值的最佳方法是什么?我已经编写了一个regexp来实现这一点,但是这是最有效/最快的方法吗?在

>>> 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']

Tags: 方法用户reloaddays平均值printaverage
3条回答

这应该是有效的:

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

/proc/loadavg特殊文件中有相同的信息,因此可以执行以下操作:

>>> open("/proc/loadavg").readline().split(" ")[:3]

或者,如果您实际上在寻找平均负载,那么在Python 2.3+中,您有:

import os
os.getloadavg()

相关问题 更多 >