python 正则表达式获取进程信息文本 ?P 用法

论坛 期权论坛 脚本     
匿名技术用户   2020-12-27 04:58   11   0

在文件ps_result中存放着进程用户名,进程Id,进程命令这三列信息,这些信息有执行ps -ef后处理得到,文件中格式如下:

root 1 /usr/lib/systemd/systemd --system --deserialize 25
root 624 /usr/sbin/lvmetad -f
root 720 /sbin/auditd -n
root 733 /sbin/audispd
root 736 /usr/sbin/sedispatch


想从文件中获取每一个进行的相关信息,用正则表达式如下:

for line in open('ps_result').readlines():
       r = re.search(r'^(?P<puser>.*?) (?P<pid>\d+?) {1,}(?P<pcmd>.*$)',line)
       print "puser:%s ; pid:%s ; pcmd:%s" % (r.group('puser'),r.group('pid'),r.group('pcmd'))

例子中,利用正则表达式的?P用法,将匹配后的信息存放到变量中打印出来
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP