#!/usr/bin/env python

# -*- coding: utf-8 -*-

import wmi

import sys,time,platform

def get_system_info(os):

"""

获取操作系统版本。

"""

print

print "Operating system:"

if os == "Windows":

c = wmi.WMI ()

for sys in c.Win32_OperatingSystem():

print '\t' + "Version :\t%s" % sys.Caption.encode("GBK")

print '\t' + "Vernum :\t%s" % sys.BuildNumber

def get_memory_info(os):

"""

获取物理内存和虚拟内存。

"""

print

print "memory_info:"

if os == "Windows":

c = wmi.WMI ()

cs = c.Win32_ComputerSystem()

pfu = c.Win32_PageFileUsage()

MemTotal = int(cs[0].TotalPhysicalMemory)/1024/1024

print '\t' + "TotalPhysicalMemory :" + '\t' + str(MemTotal) + "M"

#tmpdict["MemFree"] = int(os[0].FreePhysicalMemory)/1024

SwapTotal = int(pfu[0].AllocatedBaseSize)

print '\t' + "SwapTotal :" + '\t' + str(SwapTotal) + "M"

#tmpdict["SwapFree"] = int(pfu[0].AllocatedBaseSize - pfu[0].CurrentUsage)

def get_disk_info(os):

"""

获取物理磁盘信息。

"""

print

print "disk_info:"

if os == "Windows":

tmplist = []

c = wmi.WMI ()

for physical_disk in c.Win32_DiskDrive():

if physical_disk.Size:

print '\t' + str(physical_disk.Caption) + ' :\t' + str(long(physical_disk.Size)/1024/1024/1024) + "G"

def get_cpu_info(os):

"""

获取CPU信息。

"""

print

print "cpu_info:"

if os == "Windows":

tmpdict = {}

tmpdict["CpuCores"] = 0

c = wmi.WMI ()

for cpu in c.Win32_Processor():

tmpdict["CpuType"] = cpu.Name

try:

tmpdict["CpuCores"] = cpu.NumberOfCores

except:

tmpdict["CpuCores"] += 1

tmpdict["CpuClock"] = cpu.MaxClockSpeed

print '\t' + 'CpuType :\t' + str(tmpdict["CpuType"])

print '\t' + 'CpuCores :\t' + str(tmpdict["CpuCores"])

def get_network_info(os):

"""

获取网卡信息和当前TCP连接数。

"""

print

print "network_info:"

if os == "Windows":

tmplist = []

c = wmi.WMI ()

for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1):

tmpdict = {}

tmpdict["Description"] = interface.Description

tmpdict["IPAddress"] = interface.IPAddress[0]

tmpdict["IPSubnet"] = interface.IPSubnet[0]

tmpdict["MAC"] = interface.MACAddress

tmplist.append(tmpdict)

for i in tmplist:

print '\t' + i["Description"]

print '\t' + '\t' + "MAC :" + '\t' + i["MAC"]

print '\t' + '\t' + "IPAddress :" + '\t' + i["IPAddress"]

print '\t' + '\t' + "IPSubnet :" + '\t' + i["IPSubnet"]

for interfacePerfTCP in c.Win32_PerfRawData_Tcpip_TCPv4():

print '\t' + 'TCP Connect :\t' + str(interfacePerfTCP.ConnectionsEstablished)

if __name__ == "__main__":

os = platform.system()

get_system_info(os)

get_memory_info(os)

get_disk_info(os)

get_cpu_info(os)

get_network_info(os)

python wmi 重启网卡_python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法...相关推荐

  1. [安装程序]HDDScan(硬盘坏道检测工具) 3.3[详细检测你的硬盘信息]

    [安装程序]HDDScan(硬盘坏道检测工具) 3.3[详细检测你的硬盘信息] 软件名称:HDDScan(硬盘坏道检测工具) 3.3[详细检测你的硬盘信息] 软件大小:1.74 MB 软件类型:国产软 ...

  2. python实现文件管理系统_Python使用文件操作实现一个XX信息管理系统的示例

    大家好,我是第一次python学了一个学期,期末要完成一个毕业生信息管理系统大作业的小韩了,由于上次没有仔细看开发实现的要求,实现了一个简单的毕业生信息管理系统,而这次专门整理了两种使用文件进行保存数 ...

  3. python wmi读取网卡MAC地址、CPU序列号、硬盘序列号、主板序列号、BIOS序列号

    序列号相当于电脑的身份证号,是硬件出厂时,厂商写在硬件里的唯一识别码,具有唯一性和不可修改性.很多正版软件以此来识别用户电脑,限制安装. import uuid import wmi def get_ ...

  4. python 控制有线网卡_Python 使用指定的网卡发送HTTP请求的实例

    需求: 一台机器上有多个网卡, 如何访问指定的 URL 时使用指定的网卡发送数据呢? $ curl --interface eth0 www.baidu.com # curl interface 可以 ...

  5. python 检查代码规范_Python代码规范检测

    一定要注重代码规范,按照平时的代码管理,可以将Python代码规范检测分为两种: 静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一下,用Flake8的相对较多,功能满足 ...

  6. python密码测试代码_python使用正则表达式检测密码强度源码分享

    #encoding=utf-8 #------------------------------------------------------------------------------- # N ...

  7. python无法使用物理网卡_Python 实现监控所有物理网卡状态

    项目中有监控网卡的需求,但是一般的方法都需要指定某个网卡,然后返回网卡状态,另外如何从所有网卡中过滤出物理网卡也是个问题. Linux2.6 内核中引入了 sysfs 文件系统.sysfs 文件系统整 ...

  8. python怎么重启内核_python怎么重启服务器

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. python读取大文件目录_Python读取系统文件夹内所有文件并统计数量的方法

    大家先看一下Python os模块中的部分函数 python 路径相关的函数 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os. ...

最新文章

  1. java获取ajax上传的文件,Java使用Ajax异步上传文件
  2. 第三十一篇:SOUI布局之相对于特定兄弟窗口
  3. Ogre 学习笔记 (二) 环境:阴影 、雾效、灯光
  4. 【最新合集】PAT乙级最优题解(题解+解析+代码)
  5. Scala具体解释---------Scala是什么?可伸展的语言!
  6. jquery.cookie.js操作cookie实现“记住密码”
  7. redis启动后出现WARNING you have Transparent Huge Pages (THP) support enabled in your kernel问题...
  8. webServices 应该支持Get和Post调用,在web.config应该增加以下代码
  9. 新华三首发数字大脑计划;微软进军物联网领域?说好的三星折叠屏发布会,就这样不开了?Google 发布小型芯片 Jacquard...
  10. CSDN的MarkDown编辑器插入图片时调整大小
  11. 实验楼python挑战答案_python基础知识
  12. vue表单实现输入框控制输入小数点后两位
  13. 微积分基本概念相关证明 —— 导数与极限(洛必达法则)
  14. ESXI安装威联通NAS系统
  15. ClearCase 介绍
  16. npm/cnpm install 报错 platform unsupported
  17. 鼠标自动点击器linux,鼠标自动点击器PC版下载
  18. 第一章节: 光源种类介绍
  19. mysq根据首字母模糊检索,拼音首字母模糊查询名称
  20. 基于stm32人体健康监测系统

热门文章

  1. 数据可视化怎么完成的_完成期望后会发生什么:可视化育儿数据
  2. Address already in use: JVM_Bind 8083端口被占用的几个解决办法
  3. Java中的equals和==的差别 以及Java中等价性和同一性的讨论
  4. Privoxy安装及配置
  5. ubuntu16.04安装java环境
  6. Python getattr() 函数
  7. python语言易错知识点强化
  8. Flink 有状态计算的状态容错
  9. google now
  10. 在keil uVision 2/uVision 3下使用伟福系列仿真器的方法: