高手知道的解解

高手知道的解解

a = os.popen('vmstat').read()

我得到了这一串
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      0 1288368  22452 362144    0    0    32     8   75 1690  7  2 90  1  0

我只想要数值,用什么方法取
正则表达式吧。光把数字给去出来。
很简单的字符串,不用正规,split就成


QUOTE:
原帖由 alan_yang 于 2008-9-27 15:59 发表
很简单的字符串,不用正规,split就成


同意。split(' ')空格就行了

正则也行,只不过稍微比这个复杂那么一点点。。。
个人认为这个时候你用awk会比py方便点
虽然不是很通用。。。但是有效果就好~~

a=os.popen('vmstat|grep [0-9]').read()


这个是直接在你上面改的啦,最后会多一个\n

可以如下改:
a=os.popen('vmstat|grep [0-9]').read()[:-1]


当然,有时不用python变量,纯用sh变量来获取,也是不错的
>>> re.findall(r'\d+', a)

btw: 很复杂吗?
ls厉害,学习了


QUOTE:
原帖由 leefurong 于 2008-9-30 16:29 发表
>>> re.findall(r'\d+', a)

btw: 很复杂吗?

这个很强!查查,学习一下
呵呵,\d V.S. [0-9]