Python实现读取机器硬件信息的方法示例
程序员文章站
2023-10-24 20:07:57
本文实例讲述了python实现读取机器硬件信息的方法。分享给大家供大家参考,具体如下:
本人最近新学python ,用到关于机器的相关信息,经过一番研究,从网上查找资料,...
本文实例讲述了python实现读取机器硬件信息的方法。分享给大家供大家参考,具体如下:
本人最近新学python ,用到关于机器的相关信息,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法.
# -*- coding: utf8 -*- import os import win32api import datetime import platform import getpass import socket import uuid import _winreg import re
1、读取注册表获取操作系统版本名称
def getosname(): '''操作系统名称''' 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、读取注册表获取操作系统当前版本号
def getosversion(): '''操作系统版本''' 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、读取注册表获取操作系统的型号
def getosmodel(): '''操作系统型号''' 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、根据文件的全路径获取文件的版本号
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模块读取机器的其它信息
def get_architecture(): '''获取操作系统的位数''' return platform.architecture() def get_machine(): '''计算机类型''' return platform.machine() def get_node(): '''计算机的网络名称''' return platform.node() def get_processor(): '''计算机处理器信息''' return platform.processor() def get_system(): '''获取操作系统类型''' return platform.system() def get_totalinfo(): '''汇总信息''' return platform.uname() def get_localdatapath(): '''当前用户路径''' return os.path.expanduser('~') def get_username(): '''当前用户名''' return getpass.getuser() def get_computername1(): '''获取机器名称''' return platform.node()() def get_computername(): '''获取机器名称''' return socket.gethostname() def get_addressip(): '''获取本机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('操作系统的位数 : [{}]'.format(get_architecture())) print('计算机类型 : [{}]'.format(get_machine())) print('计算机的网络名称 : [{}]'.format(get_node())) print('计算机处理器信息 : [{}]'.format(get_processor())) print('操作系统类型 : [{}]'.format(get_system())) print('汇总信息 : [{}]'.format(get_totalinfo())) print('当前用户路径: [{}]'.format(get_localdatapath())) print('当前用户名: [{}]'.format(get_username())) print('机器名称: [{}]'.format(get_computername())) print('机器ip: [{}]'.format(get_addressip())) print('mac地址: [{}]'.format(get_mac()))
更多关于python相关内容感兴趣的读者可查看本站专题:《python进程与线程操作技巧总结》、《python socket编程技巧总结》、《python数据结构与算法教程》、《python函数使用技巧总结》、《python字符串操作技巧汇总》、《python入门与进阶经典教程》及《python文件与目录操作技巧汇总》
希望本文所述对大家python程序设计有所帮助。