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二叉搜索树与双向链表转换实现方法
Apr 29 Python
基础的十进制按位运算总结与在Python中的计算示例
Jun 28 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
Python单元测试实例详解
May 25 Python
python numpy 显示图像阵列的实例
Jul 02 Python
解决django model修改添加字段报错的问题
Nov 18 Python
在Python中实现函数重载的示例代码
Dec 12 Python
Python3运算符常见用法分析
Feb 14 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
Python 如何反方向迭代一个序列
Jul 28 Python
python在CMD界面读取excel所有数据的示例
Sep 28 Python
C++和python实现阿姆斯特朗数字查找实例代码
Dec 07 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
PHP 变量类型的强制转换
2009/10/23 PHP
PHP中将ip地址转成十进制数的两种实用方法
2013/08/15 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
php简单统计字符串单词数量的方法
2015/06/19 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
JavaScript的类型简单说明
2010/09/03 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
2018/12/03 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
numpy数组拼接简单示例
2017/12/15 Python
Python线性回归实战分析
2018/02/01 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
django迁移文件migrations的实现
2020/03/31 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
如何用Python输出一个Fibonacci数列
2016/08/28 面试题
群众路线四风自我剖析材料
2014/10/08 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
创业计划书之书店
2019/09/10 职场文书
Redis可视化客户端小结
2021/06/10 Redis