python 機器識別 python 讀取機器資訊

2021-10-19 01:15:35 字數 3283 閱讀 3902

本人最近新學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()))

5 驗證碼機器識別

因為我們不能每次都要手動輸入驗證碼,所以要想辦法讓電腦來做這件事 因為學校的這個驗證碼太水了,識別非常容易,所以我直接用pytesser這個包就可以達到可以接受的識別率了 為了不影響主函式,先新建乙個pytesser.py,我們在這裡面先測試一下這個庫可不可以正常用 pytesser庫的安裝我記得很...

讀《人臉自動機器識別》

以下是 人臉自動機器識別 2009年1月出版,段錦著 第40 41頁的內容 4.1.1 rgb顏色模型 rgb模型是人們最常用的顏色模型。國際照明委員會 cie 選擇紅色 波長700.0nm 綠色 波長546.1nm 藍色 波長435.8nm 三種單色光作為表色系統的三基色,這就是rgb色系座標系。...

Android模擬器識別技術

等等,不過裡面的很多手段都能通過改寫rom或者xposed作假,讓判斷的效能打折扣。其實,現在絕大部分手機都是基於arm架構,可以將其他cpu架構給忽略不計,模擬器全部執行在pc上,因此,只需要判斷是執行的裝置否是arm架構即可。arm與pc的x86在架構上有很大區別,arm採用的哈弗架構將指令儲存...