python根据ip获取windows系统网卡名称 兼容windows英文版和中文版,不使用psutil,兼容各windows中文版和英文版

本文介绍了一个Python脚本,利用subprocess和正则表达式处理ipconfig/all命令的结果,以查找指定IP地址对应的网卡名称,适用于Windows英文版和中文版系统。

基于subprocess模块和正则表达式解析ipconfig /all命令的输出,下面是一个兼容Windows英文版和中文版的Python脚本:

 

python

import subprocess
import re

# 输入或设定要查找的IP地址
ip_to_find = '192.168.100.10'

def find_adapter_by_ip(ip):
    # 运行ipconfig命令并获取输出
    output = subprocess.check_output(['ipconfig', '/all'], encoding='GBK')

    # 定义匹配IP地址和适配器名称的正则表达式(考虑到中英文环境)
    pattern_en = re.compile(r"IPv4 Address\. .*: (?P<ip_address>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*Physical Address. .*: .*(?P<adapter_name>.*)", re.DOTALL | re.IGNORECASE)
    pattern_zh = re.compile(r"IPv4 地址\. .*: (?P<ip_address>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*物理地址. .*: .*(?P<adapter_name>.*)", re.DOTALL | re.IGNORECASE)

    for line in output.splitlines():
        match_en = pattern_en.match(line)
        match_zh = pattern_zh.match(line)
        if (match_en and match_en.group("ip_address") == ip) or (match_zh and match_zh.group("ip_address") == ip):
            adapter
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三希

如果这篇文章帮您解决了技术难题

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值