本文实例讲述了python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法。分享给大家供大家参考。具体实现方法如下:
#!/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程序设计有所帮助。

Python列表切片的基本語法是list[start:stop:step]。 1.start是包含的第一個元素索引,2.stop是排除的第一個元素索引,3.step決定元素之間的步長。切片不僅用於提取數據,還可以修改和反轉列表。

ListSoutPerformarRaysin:1)DynamicsizicsizingandFrequentInsertions/刪除,2)儲存的二聚體和3)MemoryFeliceFiceForceforseforsparsedata,butmayhaveslightperformancecostsinclentoperations。

toConvertapythonarraytoalist,usEthelist()constructororageneratorexpression.1)intimpthearraymoduleandcreateanArray.2)USELIST(ARR)或[XFORXINARR] to ConconverTittoalist,請考慮performorefformanceandmemoryfformanceandmemoryfformienceforlargedAtasetset。

choosearraysoverlistsinpythonforbetterperformanceandmemoryfliceSpecificScenarios.1)largenumericaldatasets:arraysreducememoryusage.2)績效 - 臨界雜貨:arraysoffersoffersOffersOffersOffersPoostSfoostSforsssfortasssfortaskslikeappensearch orearch.3)testessenforcety:arraysenforce:arraysenforc

在Python中,可以使用for循環、enumerate和列表推導式遍歷列表;在Java中,可以使用傳統for循環和增強for循環遍歷數組。 1.Python列表遍歷方法包括:for循環、enumerate和列表推導式。 2.Java數組遍歷方法包括:傳統for循環和增強for循環。

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。