#!/usr/bin/env python3.5
# -*- coding:utf8 -*-
import platform
import subprocess
import wmi
def services():
c = wmi.WMI()
for s in c.Win32_Service (StartMode="Auto", State="Stopped"):
if input ("Restart %s? " % s.Caption).upper () == "Y":
s.StartService ()
def sys_version():
c = wmi.WMI ()
#获取操作系统版本
for sys in c.Win32_OperatingSystem():
print ("Version:%s" % sys.Caption.encode("UTF"),"Vernum:%s" % sys.BuildNumber)
print (sys.OSArchitecture.encode("UTF"))#系统是位还是位的
print (sys.NumberOfProcesses) #当前系统运行的进程总数
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)))
def network():
c = wmi.WMI ()
#获取MAC和IP地址
for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled= True):
print ("MAC: %s" % interface.MACAddress )
for ip_address in interface.IPAddress:
print ("ip_add: %s" % ip_address ) def w_disk(): c = wmi.WMI()
i = 0
# 获取磁盘信息
for disk in c.Win32_LogicalDisk (DriveType=3):
# print(disk)
# 可用大小G
a = round(int(disk.FreeSpace) / (1024*1024*1024),2)
print(a)
# 可用大小%
b = int(100.0 * float(disk.FreeSpace) /float(disk.Size))
print(b)
if disk.Caption == "c:":
if (a < 2) or (b < 10):
i += 1
else:
i += 0
else:
if (a < 10) or (b < 10):
i += 1
else:
i += 0
print (i) def L_disk():
free = subprocess.getstatusoutput('df -h|grep dev|egrep -v "tmp|var|shm"')
list = free[1].split('\n')
i = 0
for disk in range(len(list)):
vd = list[disk][6:8]
a = list[disk].split()[3]
if a[-1] == 'T':
a = int(float(a[:-1]))*1024
else:
a = int(float(a[:-1]))
b = 100 - int(list[disk].split()[4][:-1])
if vd == "da":
if (a < 2) or (b < 10):
i += 1
else:
i += 0
else:
if (a < 10) or (b < 10):
i += 1
else:
i += 0
print (i) if __name__ == "__main__":
os = platform.system()
if os == "Windows":
# w_disk()
# sys_version()
# cpu_mem()
# network()
services()
elif os == "Linux":
L_disk()
												

利用python 与 wmi 获取WINDOWS基本信息的更多相关文章

  1. 用PYTHON + PYWIN32 + WMI获取WINDOWS系统基本信息

    网上原码,去了DECODE编码的问题. PyScripter这个PYTHON的IDE工具在WIN下表现不错哟. 感觉比SPYDER,ERIC,SUBLEME TEXT3之类的好用呀.. #!/usr/ ...

  2. Python使用wmi获取Windows相关信息

    在使用Python获取Windows系统上的相关的信息可以使用WMI接口来获取, 什么是wmi? WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问.配置.管理和监 ...

  3. Python的功能模块[0] -> wmi -> 获取 Windows 内部信息

    wmi模块 / wmi Module WMI (Windows Management Instrumentation) 模块可用于获取 Windows 内部信息.该模块需要 win32com 的支持, ...

  4. Python WMI获取Windows系统信息 监控系统

    #!/usr/bin/env python # -*- coding: utf-8 -*- #http://www.cnblogs.com/liu-ke/ import wmi import os i ...

  5. Python WMI获取Windows系统信息

    #!/usr/bin/env python # -*- coding: utf-8 -*- #http://www.cnblogs.com/liu-ke/ import wmi import os i ...

  6. Python 通过wmi获取Window服务器硬件信息

    通过pip install wmi安装wmi 查看cpu序列号: wmic cpu get processorid 查看主板序列号: wmic baseboard get serialnumber 查 ...

  7. python配合Fiddler获取windows app登录时生成cookie实例

    工具Fiddler/python3 打开Fiddler,清空一下Fidder里面的请求记录 打开app,进行登录,注意Fiddler里的请求变化 在弹出app登录的时候Fiddler里已经有了四个请求 ...

  8. 一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接

    [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的下载,而且不能直观的知道最近电影更新的状态. 今天小编以电影天堂为例,带大家更直观的去看自己喜欢的电影,并且下载下来 ...

  9. 某校高中生利用Python,巧妙获取考试成绩,看到成绩后无言以对!

    Python是非常有吸引力的编程语言,学习Python的不是帅哥就是美女.为什么这么说呢?因为我和我的女朋友都是学习Python认识的,小编肯定是帅哥,不用去怀疑,而且我眼光特高. 给大伙讲一个故事, ...

随机推荐

  1. sql 通过存储过程和自定义类型批量新增数据

    1,建立存储过程 create PROCEDURE [dbo].[p_Company_Insert] @CompanyCollection [CompanyTableType] READONLY AS ...

  2. HDU 4062 Partition

    Partition Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  3. jQuery Mobile (中)

    jQuery Mobile (中) 前言 昨天我们一起学习了一部分jquery mobile的知识,今天我们继续. 这些是些很基础的东西,有朋友觉得这个没有其它的好,但是学习下不吃亏嘛,我反正也不会一 ...

  4. Arduino 各种模块篇 GPRS module 手机模块 短信 电话 上网 for texting, calling, internet

    ---恢复内容开始--- The GPRS shield which I tested is one which looks like this: ---恢复内容结束--- Need to be re ...

  5. 解密:LL与LR解析 1(译)

    解密:LL与LR解析 1 作者:Josh Haberman 翻译:杨贵福 由于GFW,我无法联系到作者,所以没有授权,瞎翻译的.原文在这里[http://blog.reverberate.org/20 ...

  6. HNCU1323:算法2-1:集合union (线性表)

    http://hncu.acmclub.com/index.php?app=problem_title&id=111&problem_id=1323 题目描述 假设利用两个线性表LA和 ...

  7. SPFILE 、PFILE 的全面解读

    这里先阐述一下数据库的启动过程: 1.      启动实例/例程(nomount状态)时,读取参数文件(文本文件PFILE 或服务器参数文件SPFILE),分配SGA.启动后台进程.打开告警文件及后台 ...

  8. windows窗体继承问题

    窗体继承什么时候用的到呢?当我们使用三层架构来编写我们的cs程序时,我们的U层大部分是windows窗体.这个时候如果我们有一些公共变量,或者是一个窗体需要使用另一个窗体的数据.或者是有一些用于判断的 ...

  9. Linux文件系统十问,你知道吗?

    关于文件系统,相信大家都不陌生.身为攻城狮的我们几乎天天都会与之打交道,但是细深剖一下,其中又有多少是我们理解深度不够的呢.那么让我们一起来看一下下面这一组Linux文件系统相关的问题吧: 1.机械磁 ...

  10. Android中使用开源框架Fresco处理图片

    本文为原创博文,转载请注明原文链接:http://www.cnblogs.com/panhouye/p/6278116.html 关于Fresco的优点大家自行谷歌吧,它太强大太优秀了,我这一片小博文 ...