zoukankan      html  css  js  c++  java
  • python

    获取windows操作系统的硬件信息

    #!/usr/bin/env python 
    # -*- coding: utf-8 -*- 
    # http://www.cnblogs.com/liu-ke/
    import wmi
    import os
    import sys
    import platform
    import time
    
    #还需要安装一个模块pywin32,要不会报错
    
    
    #
    # def sys_version():
    #     c = wmi.WMI()
    #     # 获取操作系统版本
    #     for sys in c.Win32_OperatingSystem():
    #         print("Version:%s" % sys.Caption.encode("UTF8"), "Vernum:%s" % sys.BuildNumber)
    #         print(sys.OSArchitecture.encode("UTF8"))  # 系统是32位还是64位的
    #         print(sys.NumberOfProcesses)  # 当前系统运行的进程总数
    #
    #
    # # c = wmi.WMI()
    # # for i in c.classes:
    # #       if "operatingsystem" in i.lower():
    # #         print (i)
    # # print(c.__doc__)
    #
    #
    # def cpu_mem():
    #     c = wmi.WMI()
    #     # CPU类型和内存
    #     for processor in c.Win32_Processor():
    #         # print "Processor ID: %s" % processor.DeviceID
    #         print("Process Name: %s" % processor.Name.strip())
    #     for Memory in c.Win32_PhysicalMemory():
    #         print("Memory Capacity: %.fMB" % (int(Memory.Capacity) / 1048576))
    #
    #
    # def cpu_use():
    #     # 5s取一次CPU的使用率
    #     c = wmi.WMI()
    #     while True:
    #         for cpu in c.Win32_Processor():
    #             timestamp = time.strftime('%a, %d %b %Y %H:%M:%S', time.localtime())
    #             print('%s | Utilization: %s: %d %%' % (timestamp, cpu.DeviceID, cpu.LoadPercentage))
    #             time.sleep(5)
    #
    #
    # def disk():
    #     c = wmi.WMI()
    #     # 获取硬盘分区
    #     for physical_disk in c.Win32_DiskDrive():
    #         for partition in physical_disk.associators("Win32_DiskDriveToDiskPartition"):
    #             for logical_disk in partition.associators("Win32_LogicalDiskToPartition"):
    #                 print(physical_disk.Caption.encode("UTF8"), partition.Caption.encode("UTF8"), logical_disk.Caption)
    #
    #                 # 获取硬盘使用百分情况
    #     for disk in c.Win32_LogicalDisk(DriveType=3):
    #         print(disk.Caption, "%0.2f%% free" % (100.0 * len(disk.FreeSpace) / len(disk.Size)))
    
    
    def network():
        c = wmi.WMI()
        # 获取MAC和IP地址
        for interface in c.Win32_NetworkAdapterConfiguration(IPEnabled=1):
            print("MAC: %s" % interface.MACAddress)
        for ip_address in interface.IPAddress:
            print("ip_add: %s" % ip_address)
    
        print("IPV4地址为: " + interface.IPAddress[0])
        print("IPV6地址为: " + interface.IPAddress[1])
    
        # # 获取自启动程序的位置
        # for s in c.Win32_StartupCommand():
        #     print("[%s] %s <%s>" % (s.Location.encode("UTF8"), s.Caption.encode("UTF8"), s.Command.encode("UTF8")))
    
            # 获取当前运行的进程
        # for process in c.Win32_Process():
        #     print(process.ProcessId, process.Name)
    
    
    def main():
        # sys_version()
        # cpu_mem()
        # disk()
        network()
        # cpu_use()
    
    
    if __name__ == '__main__':
        main()
        # print(platform.system())
        # print(platform.release())
        # print(platform.version())
        # print(platform.platform())
        # print(platform.machine())
  • 相关阅读:
    VSCode 预览 .md 文件
    ubuntu 16.04安装visual studio code 提示libnss3版本低:NSS >= 3.26 is required
    spring-tool-suite(STS) 创建 spring boot项目
    win10正式版开始菜单无法打开,右边的网络连接、操作中心也打不开
    nginx配置事例
    spring 集成 redis -- pub/sub
    springMVC--全局异常处理
    dubbo入门使用
    dubbo配置约束
    zookeeper安装与集群搭建
  • 原文地址:https://www.cnblogs.com/Anec/p/9581926.html
Copyright © 2011-2022 走看看