开源知识库 2022-09-14 18:10 采纳率: 66.7%
浏览 43
已结题

用Python取目录下文件里的有线无线Mac地址

统计文件里的有线,无线网卡Mac地址,并存入excel

结果:

名字有线无线
a5A-87-5B-2C-21-A45D-87-3E-21-A4-1C

文件案例:

目录:/root/txt/
文件:a.txt (文件名及名字)


Windows IP 配置

   主机名  . . . . . . . . . . . . . : LAPTOP-7T69THJC
   主 DNS 后缀 . . . . . . . . . . . : 
   节点类型  . . . . . . . . . . . . : 混合
   IP 路由已启用 . . . . . . . . . . : 
   WINS 代理已启用 . . . . . . . . . : 

以太网适配器 以太网 3:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 
   描述. . . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller #2
   物理地址. . . . . . . . . . . . . : 5A-87-5B-2C-21-A4
   DHCP 已启用 . . . . . . . . . . . : 
   自动配置已启用. . . . . . . . . . : 

无线局域网适配器 本地连接* 1:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 
   描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter
   物理地址. . . . . . . . . . . . . : 5B-87-9C-21-A4-1D
   DHCP 已启用 . . . . . . . . . . . : 
   自动配置已启用. . . . . . . . . . : 

无线局域网适配器 本地连接* 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 
   描述. . . . . . . . . . . . . . . : Microsoft Wi-Fi Direct Virtual Adapter #2
   物理地址. . . . . . . . . . . . . : 5E-87-9E-21-A4-1C
   DHCP 已启用 . . . . . . . . . . . : 
   自动配置已启用. . . . . . . . . . : 

以太网适配器 VMware Network Adapter VMnet1:

   连接特定的 DNS 后缀 . . . . . . . : 
   描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet1
   物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-01
   DHCP 已启用 . . . . . . . . . . . : 
   自动配置已启用. . . . . . . . . . : 
   本地链接 IPv6 地址. . . . . . . . : fe80::7854:bcf:f690:557a%12(首选) 
   自动配置 IPv4 地址  . . . . . . . : 169.254.85.122(首选) 
   子网掩码  . . . . . . . . . . . . : 255.255.0.0
   默认网关. . . . . . . . . . . . . : 
   DHCPv6 IAID . . . . . . . . . . . : 721440854
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-26-F3-37-F9-5E-87-9F-2C-21-A4
   DNS 服务器  . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . : 
   描述. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet8
   物理地址. . . . . . . . . . . . . : 00-50-56-C0-00-08
   DHCP 已启用 . . . . . . . . . . . : 
   自动配置已启用. . . . . . . . . . : 
   本地链接 IPv6 地址. . . . . . . . : fe80::4d45:5289:7549:6e9%9(首选) 
   IPv4 地址 . . . . . . . . . . . . : 192.168.11.2(首选) 
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 
   DHCPv6 IAID . . . . . . . . . . . : 738218070
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-26-F3-37-F9-5A-87-9B-2C-21-A4
   DNS 服务器  . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . : 
   描述. . . . . . . . . . . . . . . : Intel(R) Wireless-AC 9560 160MHz
   物理地址. . . . . . . . . . . . . : 5D-87-3E-21-A4-1C
   DHCP 已启用 . . . . . . . . . . . : 
   自动配置已启用. . . . . . . . . . : 
   本地链接 IPv6 地址. . . . . . . . : fe80::6dd1:30fe:400e:f7d6%18(首选) 
   IPv4 地址 . . . . . . . . . . . . : 10.2.0.22(首选) 
   子网掩码  . . . . . . . . . . . . : 255.255.252.0
   获得租约的时间  . . . . . . . . . : 2022年8月4日 9:36:28
   租约过期的时间  . . . . . . . . . : 2022年8月4日 17:50:52
   默认网关. . . . . . . . . . . . . : 10.2.3.254
   DHCP 服务器 . . . . . . . . . . . : 10.2.3.254
   DHCPv6 IAID . . . . . . . . . . . : 190613404
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-26-F3-37-F9-5D-87-9E-2F-21-A4
   DNS 服务器  . . . . . . . . . . . : 114.114.114.114
                                       222.246.129.80
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用


  • 写回答

2条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-09-20 16:55
    关注

    先用csv写个简单的,excel同理,
    基于以下假设:
    一、你有很多这样的主机信息需要截取MAC地址
    二、每台主机都最多只有真实的有线网卡与无线网卡各一个
    三、所有主机都是中文系统、格式也与例子中相似

    filelist = ['a.txt']
    maclist = []
    
    for file in filelist:
        with open(file,encoding='utf-8') as f:
            p = f.readlines()
    
        # 第一步:分块,使用数据结构为嵌套字典
        i = 0
        nic = {}
        while i<len(p):
            if "适配器" in p[i]: # 找到网卡信息,进行分块
                j = i+1
                while j<len(p) and "适配器" not in p[j]:
                    temp = p[j].split(':')
                    if len(temp)>1: # 去除空行
                        nic.setdefault(p[i].strip(),dict())[temp[0].strip('. ')] = temp[1].strip()
                    j += 1
                i = j-1
            i += 1
    
        # 第二步:去除虚拟网卡,并把真实的有线与无线网卡MAC地址截取出来
        temp = [file,'','']
        for key, value in nic.items():
            if "Virtual" not in value['描述']:
                if "无线" in key:
                    temp[2] = value['物理地址']
                else:
                    temp[1] = value['物理地址']
        maclist.append(temp)
    
    
    # 第三步:将所有的MAC地址(二维列表)写入csv
    import csv
    with open('mac.csv','w',newline='') as f:
        w = csv.writer(f)
        w.writerow(['名字','有线','无线'])
        w.writerows(maclist)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月26日
  • 已采纳回答 1月18日
  • 修改了问题 9月14日
  • 创建了问题 9月14日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改