python通过cmd命令获取本机ip类型及其值

python 调用系统 cmd命令获取本机 ip地址,得到结果:

{
    '以太网适配器 VMware Network Adapter VMnet1': '***.***.***.***', 
    '以太网适配器 VMware Network Adapter VMnet8': '***.***.***.***', 
    '无线局域网适配器 WLAN': '***.***.***.***'
}

实现代码如下:

#encoding:utf-8

import os
import re

cmd = "ipconfig"
tmp = os.popen(cmd)
res = tmp.read()# 要用read()方法读取后才是文本对象
tmp.close()# 需将对象关闭
pattern = re.compile('.+:$',re.M)
ip_type = pattern.findall(res)
result=[item.strip() for item in res.split("\n") if item.strip() != "" and (item in ip_type or "IPv4" in item)]
# for index,item in enumerate(result):
# 	print(index,item)
index=[len(result)]
for item in ip_type:
	index.insert(len(index)-1,result.index(item))
# print(index)
res=[]
for i in range(len(index)-1):
	if index[i+1]-index[i]<2:
		index[i]=-1
	else:
		res.append(result[index[i]:index[i+1]])

# index=list(filter(lambda item:item>-1,index))
# print(index)
ip_key=[ip[0].split(':')[0].strip() for ip in res]
ip_value=[ip[1].split(':')[1].strip() for ip in res]
ip_dic=dict(zip(ip_key,ip_value))

print(ip_dic)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值