脚本如下:
#!/usr/bin/<span>env python
#coding:utf</span>-<span>8</span><span>
import wmi
import sys,time,platform
def get_system_info(os):
</span><span>"""
</span><span> 获取操作系统版本。
</span><span>"""
</span><span> print
print </span><span>"</span><span>Operating system:</span><span>"</span><span>if</span> os == <span>"</span><span>Windows</span><span>"</span><span>:
c </span>=<span> wmi.WMI ()
</span><span>for</span> sys <span>in</span><span> c.Win32_OperatingSystem():
print </span><span>‘</span><span> </span><span>‘</span> + <span>"</span><span>Version : %s</span><span>"</span> % sys.Caption.encode(<span>"</span><span>UTF-8</span><span>"</span><span>)
print </span><span>‘</span><span> </span><span>‘</span> + <span>"</span><span>Vernum : %s</span><span>"</span> %<span> sys.BuildNumber
def get_memory_info(os):
</span><span>"""
</span><span> 获取物理内存和虚拟内存。
</span><span>"""
</span><span> print
print </span><span>"</span><span>memory_info:</span><span>"</span><span>if</span> os == <span>"</span><span>Windows</span><span>"</span><span>:
c </span>=<span> wmi.WMI ()
cs </span>=<span> c.Win32_ComputerSystem()
pfu </span>=<span> c.Win32_PageFileUsage()
MemTotal </span>= <span>int</span>(cs[<span>0</span>].TotalPhysicalMemory)/<span>1024</span>/<span>1024</span><span>
print </span><span>‘</span><span> </span><span>‘</span> + <span>"</span><span>TotalPhysicalMemory :</span><span>"</span> + <span>‘</span><span> </span><span>‘</span> + str(MemTotal) + <span>"</span><span>M</span><span>"</span><span>
#tmpdict[</span><span>"</span><span>MemFree</span><span>"</span>] = <span>int</span>(os[<span>0</span>].FreePhysicalMemory)/<span>1024</span><span>
SwapTotal </span>= <span>int</span>(pfu[<span>0</span><span>].AllocatedBaseSize)
print </span><span>‘</span><span> </span><span>‘</span> + <span>"</span><span>SwapTotal :</span><span>"</span> + <span>‘</span><span> </span><span>‘</span> + str(SwapTotal) + <span>"</span><span>M</span><span>"</span><span>
#tmpdict[</span><span>"</span><span>SwapFree</span><span>"</span>] = <span>int</span>(pfu[<span>0</span>].AllocatedBaseSize - pfu[<span>0</span><span>].CurrentUsage)
def get_disk_info(os):
</span><span>"""
</span><span> 获取物理磁盘信息。
</span><span>"""
</span><span> print
print </span><span>"</span><span>disk_info:</span><span>"</span><span>if</span> os == <span>"</span><span>Windows</span><span>"</span><span>:
tmplist </span>=<span> []
c </span>=<span> wmi.WMI ()
</span><span>for</span> physical_disk <span>in</span><span> c.Win32_DiskDrive():
</span><span>if</span><span> physical_disk.Size:
print </span><span>‘</span><span> </span><span>‘</span> + str(physical_disk.Caption) + <span>‘</span><span> : </span><span>‘</span> + str(<span>long</span>(physical_disk.Size)/<span>1024</span>/<span>1024</span>/<span>1024</span>) + <span>"</span><span>G</span><span>"</span><span>
def get_cpu_info(os):
</span><span>"""
</span><span> 获取CPU信息。
</span><span>"""
</span><span> print
print </span><span>"</span><span>cpu_info:</span><span>"</span><span>if</span> os == <span>"</span><span>Windows</span><span>"</span><span>:
tmpdict </span>=<span> {}
tmpdict[</span><span>"</span><span>CpuCores</span><span>"</span>] = <span>0</span><span>
c </span>=<span> wmi.WMI ()
</span><span>for</span> cpu <span>in</span><span> c.Win32_Processor():
tmpdict[</span><span>"</span><span>CpuType</span><span>"</span>] =<span> cpu.Name
</span><span>try</span><span>:
tmpdict[</span><span>"</span><span>CpuCores</span><span>"</span>] =<span> cpu.NumberOfCores
except:
tmpdict[</span><span>"</span><span>CpuCores</span><span>"</span>] += <span>1</span><span>
tmpdict[</span><span>"</span><span>CpuClock</span><span>"</span>] =<span> cpu.MaxClockSpeed
print </span><span>‘</span><span> </span><span>‘</span> + <span>‘</span><span>CpuType : </span><span>‘</span> + str(tmpdict[<span>"</span><span>CpuType</span><span>"</span><span>])
print </span><span>‘</span><span> </span><span>‘</span> + <span>‘</span><span>CpuCores : </span><span>‘</span> + str(tmpdict[<span>"</span><span>CpuCores</span><span>"</span><span>])
def get_network_info(os):
</span><span>"""
</span><span> 获取网卡信息和当前TCP连接数。
</span><span>"""
</span><span> print
print </span><span>"</span><span>network_info:</span><span>"</span><span>if</span> os == <span>"</span><span>Windows</span><span>"</span><span>:
tmplist </span>=<span> []
c </span>=<span> wmi.WMI ()
</span><span>for</span><span>interface</span><span>in</span> c.Win32_NetworkAdapterConfiguration (IPEnabled=<span>1</span><span>):
tmpdict </span>=<span> {}
tmpdict[</span><span>"</span><span>Description</span><span>"</span>] = <span>interface</span><span>.Description
tmpdict[</span><span>"</span><span>IPAddress</span><span>"</span>] = <span>interface</span>.IPAddress[<span>0</span><span>]
tmpdict[</span><span>"</span><span>IPSubnet</span><span>"</span>] = <span>interface</span>.IPSubnet[<span>0</span><span>]
tmpdict[</span><span>"</span><span>MAC</span><span>"</span>] = <span>interface</span><span>.MACAddress
tmplist.append(tmpdict)
</span><span>for</span> i <span>in</span><span> tmplist:
print </span><span>‘</span><span> </span><span>‘</span> + i[<span>"</span><span>Description</span><span>"</span><span>]
print </span><span>‘</span><span> </span><span>‘</span> + <span>‘</span><span> </span><span>‘</span> + <span>"</span><span>MAC :</span><span>"</span> + <span>‘</span><span> </span><span>‘</span> + i[<span>"</span><span>MAC</span><span>"</span><span>]
print </span><span>‘</span><span> </span><span>‘</span> + <span>‘</span><span> </span><span>‘</span> + <span>"</span><span>IPAddress :</span><span>"</span> + <span>‘</span><span> </span><span>‘</span> + i[<span>"</span><span>IPAddress</span><span>"</span><span>]
print </span><span>‘</span><span> </span><span>‘</span> + <span>‘</span><span> </span><span>‘</span> + <span>"</span><span>IPSubnet :</span><span>"</span> + <span>‘</span><span> </span><span>‘</span> + i[<span>"</span><span>IPSubnet</span><span>"</span><span>]
</span><span>for</span> interfacePerfTCP <span>in</span><span> c.Win32_PerfRawData_Tcpip_TCPv4():
print </span><span>‘</span><span> </span><span>‘</span> + <span>‘</span><span>TCP Connect : </span><span>‘</span> +<span> str(interfacePerfTCP.ConnectionsEstablished)
</span><span>if</span> __name__ == <span>"</span><span>__main__</span><span>"</span><span>:
os </span>=<span> platform.system()
get_system_info(os)
get_memory_info(os)
get_disk_info(os)
get_cpu_info(os)
get_network_info(os)</span>
执行结果:
<span>Operating system:
Version : Microsoft Windows </span>
<span>10</span>
<span> 家庭中文版
Vernum : </span>
<span>15063</span>
<span>
memory_info:
TotalPhysicalMemory : 4011M
SwapTotal : 6656M
disk_info:
TOSHIBA MQ01ABF050 : 465G
KINGSTON SA400S37120G : 111G
cpu_info:
CpuType : Intel(R) Core(TM) i5</span>-<span>5257U</span> CPU @ <span>2</span><span>.70GHz
CpuCores : </span><span>2</span><span>
network_info:
Realtek RTL8723BE Wireless LAN </span><span>802</span>.11n PCI-<span>E NIC
MAC : </span><span>60</span>:6D:C7:8D:<span>28</span><span>:8D
IPAddress : </span><span>192.168</span>.<span>0.103</span><span>
IPSubnet : </span><span>255.255</span>.<span>255.0</span><span>
TCP Connect : </span><span>54</span>
参考:http://blog.51cto.com/wangwei007/1033760
原文:https://www.cnblogs.com/zhongguiyao/p/8997925.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!