Python实现读取机器硬件信息的方法示例


Posted in Python onJune 09, 2018

本文实例讲述了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实现udp数据报传输的方法
Sep 26 Python
解决python删除文件的权限错误问题
Apr 24 Python
Python实现按中文排序的方法示例
Apr 25 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
python selenium自动上传有赞单号的操作方法
Jul 05 Python
pow在python中的含义及用法
Jul 11 Python
python同义词替换的实现(jieba分词)
Jan 21 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
python名片管理系统开发
Jun 18 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
python Tkinter的简单入门教程
Apr 11 Python
Elasticsearch 聚合查询和排序
Apr 19 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 #Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 #Python
python 用lambda函数替换for循环的方法
Jun 09 #Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 #Python
python pandas 如何替换某列的一个值
Jun 09 #Python
pandas 对series和dataframe进行排序的实例
Jun 09 #Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 #Python
You might like
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
vue 实现特定条件下绑定事件
2019/11/09 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
Appium+python自动化之连接模拟器并启动淘宝APP(超详解)
2019/06/17 Python
深入了解Django View(视图系统)
2019/07/23 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
社区活动邀请函范文
2014/01/29 职场文书
公务员转正考察材料
2014/02/07 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
2014年营销工作总结
2014/11/22 职场文书
关于颐和园的导游词
2015/01/30 职场文书
2019教师的学习计划
2019/06/25 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android