获取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. gbk、utf-8、utf8mb4区别

    1. 存储大小(1). GBK编码专门用来解决中文编码的,是双字节的.不论中英文都是双字节的.(2). UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用2 ...

  2. jenkins--svn+Email自动触发2(jenkins系统配置)

    jenkins系统配置-SonarQube servers配置: 邮件通知设置: 邮件调试问题: 在 系统设置 --> Extended E-mail Notification: 找到 Enab ...

  3. BZOJ1926[Sdoi2010]粟粟的书架——二分答案+主席树

    题目描述 幸福幼儿园 B29 班的粟粟是一个聪明机灵.乖巧可爱的小朋友,她的爱好是画画和读书,尤其喜欢 Thomas H. Co rmen 的文章.粟粟家中有一个 R行C 列的巨型书架,书架的每一个位 ...

  4. BZOJ4383 Pustynia(线段树+拓扑排序)

    线段树优化建图暴力拓扑排序即可.对于已确定的数,拓扑排序时dp,每个节点都尽量取最大值,如果仍与已确定值矛盾则无解.叶子连出的边表示大于号,其余边表示大于等于. #include<iostrea ...

  5. VMware Linux虚拟机yum源更换成国内阿里源

    [虚拟机系统] Centos 6.8 阿里源:https://opsx.alibaba.com/mirror 网易源:http://mirrors.163.com/ 更换yum源时请保证虚拟机和外网是 ...

  6. day14 闭包

    闭包的概念 必须要有函数嵌套,内部函数调用外部函数的变量 简单的例子 此种方法会导致每次使用内部函数inner的时候需要不断的调用外部函数. 结果导致外部函数的变量不断的被调用被释放,比较低效,相当于 ...

  7. 自学Python2.9-循环(while、for)

    自学Python之路 自学Python2.9-循环(while.for) 1. while循环 Python中while语句的一般形式: while 判断条件: 语句 作用:提高开发效率,提高代码重用 ...

  8. SpringCloud学习(二)---Eureka

    Eureka 重点在使用,概念和源码基本不涉及 Eureka是一个基于REST(REST是HTTP协议的)的服务,主要在亚马逊网络服务(AWS)云中使用,定位服务来进行中间层服务器的均衡负载和故障转移 ...

  9. 字符串格式化(七)-format

    print("i am %s" %'admin') # i am admin msg = "i am %s" %'Alex' print(msg) # i am ...

  10. ZOJ_3950_How Many Nines 解题报告及如何对程序进行测试修改

    The 17th Zhejiang University Programming Contest Sponsored by TuSimple Solution: #include <stdio. ...