从python子进程运行linux grep命令

我知道已经有关于如何在python中使用子进程来运行linux命令的文章,但是我只是无法获得正确的语法.请帮忙.这是我需要运行的命令…/sbin/ifconfig eth1 | grep inet addr | awk -F: {print $2} | awk {print $1}...

我知道已经有关于如何在python中使用子进程来运行linux命令的文章,但是我只是无法获得正确的语法.请帮忙.这是我需要运行的命令…

/sbin/ifconfig eth1 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'

好的,这是我目前遇到的语法错误…

import subprocess
self.ip = subprocess.Popen([/sbin/ifconfig eth1 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'])

任何帮助,不胜感激.

解决方法:

这已经被很多遍了.但这是效率低下的后处理的简单纯Python替换.

from subprocess import Popen, PIPE
eth1 = subprocess.Popen(['/sbin/ifconfig', 'eth1'], stdout=PIPE)
out, err = eth1.communicate()
for line in out.split('\n'):
    line = line.lstrip()
    if line.startswith('inet addr:'):
        ip = line.split()[1][5:]

本文标题为:从python子进程运行linux grep命令

基础教程推荐