基于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

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

被折叠的 条评论
为什么被折叠?



