获取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())

python - wmi模块学习(windwos硬件信息获取)的更多相关文章

  1. python wmi模块学习

    # -*- coding: cp936 -*- import wmi c = wmi.WMI () for sys in c.Win32_OperatingSystem(): print " ...

  2. python - argparse 模块学习

    python - argparse 模块学习 设置一个解析器 使用argparse的第一步就是创建一个解析器对象,并告诉它将会有些什么参数.那么当你的程序运行时,该解析器就可以用于处理命令行参数. 解 ...

  3. python paramiko模块学习分享

    python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...

  4. Python time模块学习

    Python time模块提供了一些用于管理时间和日期的C库函数,由于它绑定到底层C实现,因此一些细节会基于具体的平台. 一.壁挂钟时间 1.time() time模块的核心函数time(),它返回纪 ...

  5. windows linux—unix 跨平台通信集成控制系统----系统硬件信息获取

    控制集成系统需要了解系统的各项硬件信息,之前我们设计的时候,习惯使用c函数来搞,后来可能发现程序的移植性收到了一些影响,比如unix内核的一些c函数在linux下面是没有的: 比如 苹果达尔文内核的如 ...

  6. Python logging 模块学习

    logging example Level When it's used Numeric value DEBUG Detailed information, typically of interest ...

  7. python atexit模块学习

    python atexit模块 只定义了一个register模块用于注册程序退出时的回调函数,我们可以在这个函数中做一下资源清理的操作 注:如果程序是非正常crash,或者通过os._exit()退出 ...

  8. python os模块学习

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...

  9. python logging模块学习(转)

    前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...

随机推荐

  1. 【Linux】Screen命令

    1.运行screen [root@master2 ~]# screen 2.执行脚本 [root@master2 ~]# sh mgr.sh 命令帮助 更详细的请使用 man screen查看 htt ...

  2. python成长之路六-函数的初识

    定义函数 我们现学已知的python函数有<内置函数> 而我们现在要学的是<自定义函数> 1,def  定义一个函数 def name(): # 后接函数名 冒号 pass 2 ...

  3. Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  4. 【 HDU - 4456 】Crowd (二维树状数组、cdq分治)

    BUPT2017 wintertraining(15) #5A HDU 4456 题意 给你一个n行n列的格子,一开始每个格子值都是0.有M个操作,p=1为第一种操作,给格子(x,y)增加z.p=2为 ...

  5. 自学Zabbix13.2 分布式监控proxy配置

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix13.2 分布式监控proxy配置 分为两部分: 安装proxy 配置proxy ...

  6. 【洛谷5月月赛】玩游戏(NTT,生成函数)

    [洛谷5月月赛]玩游戏(NTT,生成函数) 题面 Luogu 题解 看一下要求的是什么东西 \((a_x+b_y)^i\)的期望.期望显然是所有答案和的平均数. 所以求出所有的答案就在乘一个逆元就好了 ...

  7. [luogu1962]斐波那契数列

    来提供两个正确的做法: 斐波那契数列双倍项的做法(附加证明) 矩阵快速幂 一.双倍项做法 在偶然之中,在百度中翻到了有关于斐波那契数列的词条(传送门),那么我们可以发现一个这个规律$ \frac{F_ ...

  8. X11,GTK,QT,GNOME的区别与联系(UI工具总结)

    1,X11是X Window System Protocol, Version 11(RFC1013),是X server和X client之间的通信协议.X server是xfree86/xorg驱 ...

  9. 代码大片出现报错,请重新编译——Clean

    工作空间中项目莫名大片报错,可能是各种意外原因导致的代码编译错误,可以选 菜单栏的 Project,Clean一下全部项目,系统会自动重新编译所有项目,有时会有奇效.

  10. 织梦DedeCMS信息发布员发布文章阅读权限不用审核自动开放亲测试通过!

    文章发布员在织梦dedecms后台添加文章时却要超级管理员审核,这无疑是增加了没必要的工作. 登录该账号发布文章你会发现该文章显示的是待审核稿件,且并没有生成静态文件,在前台是看不到这篇文章的,而多数 ...