Python實現(xiàn)讀取機(jī)器硬件信息的方法示例
本文實例講述了Python實現(xiàn)讀取機(jī)器硬件信息的方法。分享給大家供大家參考,具體如下:
本人最近新學(xué)python ,用到關(guān)于機(jī)器的相關(guān)信息,經(jīng)過一番研究,從網(wǎng)上查找資料,經(jīng)過測試,總結(jié)了一下相關(guān)的方法.
# -*- coding: UTF8 -*- import os import win32api import datetime import platform import getpass import socket import uuid import _winreg import re
1、讀取注冊表獲取操作系統(tǒng)版本名稱
def GetOsName():
'''操作系統(tǒng)名稱'''
keyPath = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion"
each_key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, keyPath, 0, _winreg.KEY_READ)
OsName,REG_SZ = _winreg.QueryValueEx(each_key, "ProductName")
return OsName
2、讀取注冊表獲取操作系統(tǒng)當(dāng)前版本號
def GetOsVersion():
'''操作系統(tǒng)版本'''
keyPath = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion"
each_key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, keyPath, 0, _winreg.KEY_READ)
OsVersion,REG_SZ = _winreg.QueryValueEx(each_key, "CurrentVersion")
return OsVersion
3、讀取注冊表獲取操作系統(tǒng)的型號
def GetOsModel():
'''操作系統(tǒng)型號'''
keyPath = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion"
each_key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, keyPath, 0, _winreg.KEY_READ)
OsModel,REG_SZ = _winreg.QueryValueEx(each_key, "EditionID")
return OsModel
4、根據(jù)文件的全路徑獲取文件的版本號
def GetFileVersion(filePath):
info = win32api.GetFileVersionInfo(filePath, os.sep)
ms = info['FileVersionMS']
ls = info['FileVersionLS']
version = '%d.%d.%d.%04d' % (win32api.HIWORD(ms), win32api.LOWORD(ms), win32api.HIWORD(ls), win32api.LOWORD(ls))
return version
5、通過platform模塊讀取機(jī)器的其它信息
def get_architecture():
'''獲取操作系統(tǒng)的位數(shù)'''
return platform.architecture()
def get_machine():
'''計算機(jī)類型'''
return platform.machine()
def get_node():
'''計算機(jī)的網(wǎng)絡(luò)名稱'''
return platform.node()
def get_processor():
'''計算機(jī)處理器信息'''
return platform.processor()
def get_system():
'''獲取操作系統(tǒng)類型'''
return platform.system()
def get_TotalInfo():
'''匯總信息'''
return platform.uname()
def get_localDataPath():
'''當(dāng)前用戶路徑'''
return os.path.expanduser('~')
def get_UserName():
'''當(dāng)前用戶名'''
return getpass.getuser()
def get_ComputerName1():
'''獲取機(jī)器名稱'''
return platform.node()()
def get_ComputerName():
'''獲取機(jī)器名稱'''
return socket.gethostname()
def get_AddressIp():
'''獲取本機(jī)IP'''
return socket.gethostbyname(get_ComputerName())
def get_Mac():
'''獲取MAC地址'''
mac=uuid.UUID(int = uuid.getnode()).hex[-12:]
return ':'.join(mac[e:e+2].upper() for e in xrange(0,11,2))
def show_os_all_info():
'''打印os的全部信息'''
print('操作系統(tǒng)的位數(shù) : [{}]'.format(get_architecture()))
print('計算機(jī)類型 : [{}]'.format(get_machine()))
print('計算機(jī)的網(wǎng)絡(luò)名稱 : [{}]'.format(get_node()))
print('計算機(jī)處理器信息 : [{}]'.format(get_processor()))
print('操作系統(tǒng)類型 : [{}]'.format(get_system()))
print('匯總信息 : [{}]'.format(get_TotalInfo()))
print('當(dāng)前用戶路徑: [{}]'.format(get_localDataPath()))
print('當(dāng)前用戶名: [{}]'.format(get_UserName()))
print('機(jī)器名稱: [{}]'.format(get_ComputerName()))
print('機(jī)器IP: [{}]'.format(get_AddressIp()))
print('MAC地址: [{}]'.format(get_Mac()))
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
解決遇到PermissionError:[Errno 13] Permission den
遇到"PermissionError:[Errno 13] Permission denied"通常是權(quán)限不足導(dǎo)致,解決此問題的方法包括檢查并更改文件權(quán)限,使用管理員權(quán)限運(yùn)行命令,或接觸文件所有者,這些步驟有助于確保用戶具有執(zhí)行操作所需的權(quán)限,有時,文件或目錄可能被鎖定2024-09-09
一文帶你精通Python中*args和**kwargs的應(yīng)用技巧
如果能在Python中創(chuàng)建適應(yīng)不同場景的函數(shù),而無需每次都重寫它們,會使得操作簡潔方便,這就是*args和**kwargs的魔力所在,下面我們就來看看它們的具體一些應(yīng)用技巧吧2024-03-03
Python基礎(chǔ)之變量基本用法與進(jìn)階詳解
這篇文章主要介紹了Python基礎(chǔ)之變量基本用法與進(jìn)階,結(jié)合實例形式詳細(xì)分析了Python變量引用、可變和不可變類型、局部變量和全局變量等相關(guān)原理與使用技巧,需要的朋友可以參考下2020-01-01
Django實現(xiàn)帶進(jìn)度條的倒計時功能詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Django實現(xiàn)簡單的帶進(jìn)度條的倒計時功能,可以在頁面加載后自動開始計時,下次計時需要手動刷新頁面,需要的可以參考一下2023-04-04
Python?Pipeline處理數(shù)據(jù)工作原理探究
如果你是一個Python開發(fā)者,你可能聽過"pipeline"這個術(shù)語,但?pipeline?到底是什么,它又有什么用呢?在這篇文章中,我們將探討?Python?中的?pipeline?概念,它們是如何工作的,以及它們?nèi)绾螏椭憔帉懜逦⒏咝У拇a2024-01-01

