我知道已经有关于如何在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:]