用python怎么能解析输出ifconfig里具体IP地址?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python怎么能解析输出ifconfig里具体IP地址?相关的知识,希望对你有一定的参考价值。

我现在得PC上有三个网卡,拿到得地址段不一样,我怎么能让输出特定地址段得ip,譬如192.168.100.x的?
eth2 Link encap:以太网 硬件地址 xx
inet 地址:192.168.100.14 广播:192.168.100.255 掩码:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1

我查了下,用正则是一种方法,可是正则应该怎么写呢?
还有没有其他方法?
譬如:

>>>ip="192.168.100"
>>>cmd_output=commands.getoutput('ifconfig')
>>>obtain_ip=re.search(ip,ifconfig_result)
>>>print obtain_ip.group()
输出192.168.100
怎么能让吧192.168.100后面得14也输出来呢?

import socket
hostname = socket.gethostname()  
ip = socket.gethostbyname(hostname)
print ip

这就是本机的IP地址

参考技术A >>ip=r"192\.168\.100\.\d+"
>>>cmd_output=commands.getoutput('ifconfig')
>>>obtain_ip=re.search(ip,cmd_output)
>>>print obtain_ip.group()追问

thanks,如果ip参数只能指定为ip="192.168.100"

用正则调用这个参数ip,语法应该是什么呢?
ip_format=r"xxx\d+"??

追答

ip="192.168.100"

......

>>>obtain_ip=re.search(re.escape(ip)+r"\.\d+",cmd_output)
.......

本回答被提问者采纳

以上是关于用python怎么能解析输出ifconfig里具体IP地址?的主要内容,如果未能解决你的问题,请参考以下文章

java怎么解析文本文件中的soap报文

原创python中文编码问题:控制窗口能输出中文,到文本文件里乱码

python3 global怎么用?

centos 7 怎么启动samba

Python中如何设置输出文字的颜色

用python编程输出50内能被3整除的所有正整数和它们的累加和?