import os
import re
def get_sys_route():
sys_route_table = os.popen('route print') # 使用os.popen()获取程序输出
all_route_lines = sys_route_table.readlines() # 按行读取
start_inx, end_inx = [inx for inx, line in enumerate(all_route_lines) if line == '\n'] # 使用\n分割出路由表的起始行和结束行
ipv4_route_lines = all_route_lines[start_inx + 5:end_inx - 1] # 所有ipv4路由字符串列表
ipv4_route_split_inx = ipv4_route_lines.index('永久路由:\n') # 以固定字符串分割ipv4的永久路由和活动路由
ipv4_fix_route_lines = ipv4_route_lines[ipv4_route_split_inx + 2:] # 永久路由字符串列表(已减去无用行)
ipv4_act_route_lines = ipv4_route_lines[:ipv4_route_split_inx - 1] # 活动路由字符串列表(已减去无用行)
for line in ipv4_fix_route_lines:
route, mask, gateway, hops = re.findall(r'\S+', line) # 网络路由地址,掩码,网关,跃点数
Python 获取windows 系统路由表 route print
最新推荐文章于 2024-03-09 16:00:58 发布