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获取机器信息脚本(网上寻找的)
获取机器信息(待测试) # -*- coding: UTF-8 -*- import psutil import json import os import socket import struct ...
- python 读取域名信息
#!/usr/bin/env python # _*_coding:utf-8_*_ import OpenSSL from OpenSSL import crypto from dateutil i ...
- 用python读取csv信息并写入新的文件
import csv fo = open("result.txt", "w+") reader = csv.reader(open('test.csv')) f ...
- 使用Python读取Mp3的标签信息
什么是ID3 MP3是音频文件最流行的格式,它的全称是 MPEG layer III.但是这种格式不支持对于音频内容的描述信息,包括歌曲名称.演唱者.专辑等等. 因此在1996年,Eric Kemp在 ...
- python读取excel一例-------从工资表逐行提取信息
在工作中经常要用到python操作excel,比如笔者公司中一个人事MM在发工资单的时候,需要从几百行的excel表中逐条的粘出信息,然后逐个的发送到员工的邮箱中.人事MM对此事不胜其烦,终于在某天请 ...
- python读取文件内的IP信息 练习
代码如下: #导包 import fileinput import re def readArw(): for line in fileinput.input(r"G:/raw.txt&qu ...
- python 读取指定文件信息并拼接
python 读取指定文本并拼接成指定的格式 # -*- coding: utf-8 -*- import os def getHelloWorld(path, fileName): "&q ...
- Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,以及根据经纬度通过百度地图API获取位置
通过第三方库exifread读取照片信息.exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifreadpip install exifread ...
- python读取文本文件
1. 读取文本文件 代码: f = open('test.txt', 'r') print f.read() f.seek(0) print f.read(14) f.seek(0) print f. ...
随机推荐
- 【排障】nginx在reload时候报错invalid PID number
nginx在reload时候报错invalid PID number nginx重新加载配置文件时候报错,提示无效的PID: 解决的办法有二: 第一种思路是因为是加载配置文件报的错,所以用-c 选项指 ...
- IP地址子网掩码、主机数、子网掩码及主机段的算法
http://wenku.baidu.com/view/2aa76cc6aa00b52acfc7ca6f.html很容易理解.
- 微信平台(一)--获取access_token
事前思路准备 说在前面:如果要获取access_token,那么你需要appid,appsecret;另外需要post请求连接https://api.weixin.qq.com/cgi-bin/tok ...
- Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动
看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2 ...
- JavaWeb_数据传输_原
本节目录: 1.如何从Servlet向JSP传送数据:(setAtrribute和getAtrribute) 2.jsp如何输入表达数据以及传数据到servlet(FormAction去向和Inpu ...
- C#中的集合
[集合不同于数组,是一组可变类型的.可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作.一般来讲,为了便于操作这些元素的类型是相同的] [集合与数组的区别:数组是连续的.同 ...
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- table表格中加入<a>标签,使内容上下居中的方法。
主要思路:定义好表格单元格的width和height,再加入<a>后,设置<a>的width=100%,height=100%填充整个单元格.那么此时设置上下左右居中样式就只需 ...
- 基于微软EnterpriseLib的框架(一)
1.框架模型无ORM,重点在数据库建模设计与UI框架设计上 2.多数据库支持(Enterprise Lib 默认仅支持SqlServer和Oracle,需自己扩展才能支持其他数据库,本文已扩展SQLi ...
- Spring集成PageHelper的简单用法
1.Maven依赖,注意使用PageHelper时的版本必须与Mybatis版本对应 <!-- 添加Mybatis依赖 --> <dependency> <groupId ...