Python和正则表达式

Max*_*rai 0 python regex

我必须解析需要的字符串.这是我在Linux控制台中执行的命令:

amixer get Master |grep Mono:
Run Code Online (Sandbox Code Playgroud)

例如,得到

Mono: Playback 61 [95%] [-3.00dB] [on]
Run Code Online (Sandbox Code Playgroud)

然后我从python-console测试它:

import re,os
print re.search( ur"(?<=\[)[0-9]{1,3}", u"  Mono: Playback 61 [95%] [-3.00dB] [on]" ).group()[0]
Run Code Online (Sandbox Code Playgroud)

得到结果:95.就是这样,我需要什么.但是,如果我将我的脚本更改为:

print re.search( ur"(?<=\[)[0-9]{1,3}", str(os.system("amixer get Master |grep Mono:")) ).group()[0]
Run Code Online (Sandbox Code Playgroud)

它将返回None-object.为什么?

ret*_*ile 7

os.system() 返回应用程序的退出代码,而不是应用程序的文本输出.

你应该阅读subprocessPython模块; 它会做你需要的.