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()))

时间: 2024-11-01 01:35:03

python 读取机器信息的相关文章

python读取excel一例-------从工资表逐行提取信息

在工作中经常要用到python操作excel,比如笔者公司中一个人事MM在发工资单的时候,需要从几百行的excel表中逐条的粘出信息,然后逐个的发送到员工的邮箱中.人事MM对此事不胜其烦,终于在某天请我吃了一碗烩面,于是我给她编写了一个小工具,用python程序读出excel的信息,然后自动发送到员工邮箱中.本着开源分享的原则,我把代码贴出来供有需要的人使用,因为发邮件的部分读取的是公司邮箱的通讯录,所以对程序进行了阉割,只贴出读取excle的部分.如果你用的是类似126或腾讯企业邮箱之类的公共

python读取文本文件

1. 读取文本文件 代码: [python] view plain copy f = open('test.txt', 'r') print f.read() f.seek(0) print f.read(14) f.seek(0) print f.readline() print f.readline() f.seek(0) print f.readlines() f.seek(0) for line in f: print line, f.close() 运行结果: [email prote

python读取excel文件(xrld模块)

Python读取excel文件 一.python  xlrd模块 安装 mac 下安装python  xlrd模块 http://www.crifan.com/python_read_excel_xls_file_xlrd/comment-page-1/ python setup.py install 在mac 下出现的错误是 http://stackoverflow.com/questions/18199853/error-could-not-create-library-python-2-7

python 获取对象信息

当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >>> type(123) <type 'int'> >>> type('str') <type 'str'> >>> type(None) <type 'NoneType'> 如果一个变量指向函数或者类,也可以用type()判断: >&

Python读取SQLite文件数据

近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性.并发性要求不高的场景下可以尝试! 1.SQLite简介: SQLite是一个进程内的库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它(如安卓系统),它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多

python读取配置文件 ConfigParser

Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件. 配置文件的格式 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 option: b) section 用 [sect_name] 表示,每个option是一个键值对,使用分隔符 = 或 : 隔开: c) 在 option 分隔符两端的空格会被忽略掉 d) 配置文件使用 # 和 ; 注释 一个简单的配置文件样例 myapp.conf 1 2 3 4 5 6 7 8 9

Python读取jsonlines格式文件

Python读取jsonlines格式文件 json lines文件是一种便于存储结构化数据的格式,可以一次处理一条记录.可以用作日志文件或者其他.每条json数据之间存在一个"\n"分隔符. 具体信息可以查看http://jsonlines.org/ 之前爬虫存储数据,使用了这个格式文件,但是在读取的时候,Python内置的json函数,会进行报错: 在网上找到了两个库: 1.jsonlines,文档:https://jsonlines.readthedocs.io/en/lates

python读取配置文件的方式

python读取配置文件的方式 1.从config.ini中读取,后缀无所谓,文件名字也无所谓,不过config.ini是常用写法,所谓见名知意 config.ini内容: [global] ip = xxx port = xxx table = xxx uname = xxx passwd = xxx 读取方法 import configparser import os dir_now = os.path.dirname(os.path.dirname(os.path.abspath("set

Python 读取csv报错编码问题 : UnicodeDecodeError: &#39;utf-8&#39; codec can&#39;t decode byte 0x87 in position 10: invalid start byte

1.报错信息 UnicodeDecodeError: 'utf-8' codec can't decode byte 0x87 in position 10: invalid start byte 2.解决方法 查找相关资料,发现一个棒棒的解决方法: 首先把csv文件以记事本的格式打开,默认保存是ANSI编码,我们应该手动修改成utf-8 ===>(如果记事本打开后是乱码,我们可以把csv数据粘贴到记事本上后保存) 3.接下来可以愉快的读文件咯 with csv23.open_csv(r'C:\