• 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"SOFTWAREMicrosoftWindows NTCurrentVersion"
        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"SOFTWAREMicrosoftWindows NTCurrentVersion"
        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"SOFTWAREMicrosoftWindows NTCurrentVersion"
        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()))

  • 相关阅读:
    给入坑前端的新人的建议
    浅析js闭包
    mongoose之操作mongoDB数据库
    input模拟输入下拉框
    浅析AngularJS自定义指令之嵌入(transclude)
    vue-cli之打包多入口配置
    Node.js之图片上传
    移动端之模态框滚动穿透问题
    浅谈vue之动态路由匹配
    vuex数据持久化存储
  • 原文地址:https://www.cnblogs.com/shaosks/p/5599943.html
Copyright © 2020-2023  润新知