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的Django框架来制作一个RSS阅读器
Jul 22 Python
APIStar:一个专为Python3设计的API框架
Sep 26 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
pandas 对group进行聚合的例子
Dec 27 Python
Python While循环语句实例演示及原理解析
Jan 03 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
python实现图像拼接
Mar 05 Python
python 读取串口数据的示例
Nov 09 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中处理模拟rewrite 效果
2006/12/09 PHP
php rsa加密解密使用详解
2015/01/14 PHP
php数组和链表的区别总结
2019/09/20 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
jquery操作select大全
2014/04/25 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
用Django写天气预报查询网站
2018/10/21 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
初三学生个人自我评定
2014/04/06 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
MySQL系列之十四 MySQL的高可用实现
2021/07/02 MySQL
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python