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 测试实现方法
Dec 24 Python
python单线程实现多个定时器示例
Mar 30 Python
详解Python中的装饰器、闭包和functools的教程
Apr 02 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 Python
Python爬虫——爬取豆瓣电影Top250代码实例
Apr 17 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
PyTorch 导数应用的使用教程
Aug 31 Python
python开发入门——列表生成式
Sep 03 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 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语法速查表
2006/12/06 PHP
php的access操作类
2008/04/09 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
动态表格Table类的实现
2009/08/26 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
2019/11/07 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
python调用java的Webservice示例
2014/03/10 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
Php多进程实现代码
2018/05/07 Python
python3.5绘制随机漫步图
2018/08/27 Python
python类的实例化问题解决
2019/08/31 Python
Python 网络编程之TCP客户端/服务端功能示例【基于socket套接字】
2019/10/12 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
Python爬取网页信息的示例
2020/09/24 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
高三自我鉴定范文
2013/10/19 职场文书
篮球拉拉队口号
2015/12/25 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
Go语言设计模式之结构型模式
2021/06/22 Golang
详解nginx location指令
2022/01/18 Servers